通常操作REST服務時,除了GET方式操作之外
POST跟其他method的操作也少不了
這邊介紹POST的操作function:doPost()
doPost function同樣會在參數部分帶入request object用來包裝傳入的參數
下面是一個範例,簡單的組一個response回覆前端的呼叫:
function doPost(request){
var data = {"name": request.parameters.form};
return ContentService.createTextOutput(JSON.stringify(data))
.setMimeType(ContentService.MimeType.JSON);
}
上面程式同樣使用request.parameters.[parameter name]來帶回傳入參數的值
後續可以有更複雜的操作,例如利用這個值做資料庫的查詢或是Google文件的查詢之類的...
程式完成後的deploy & publish部分則與之前方式相同。
Client操作的部份,為了應付比較複雜的POST操作,這邊使用Node.js的request模組來操作POST的呼叫,其中因為Apps Script執行url的redirect特性,必須加入followAllRedirects這個參數,指定request模組往下做redirect page的查詢動作,而form欄位所帶入的JOSN物件中,key值(form)所對應的value(123)則會實際反應在Apps Script中的request.parameters.[key]中
var request = require('request');
request({
method: 'POST',
followAllRedirects: true,
form: {
form: '123'
}
}, function(err, r, body){
if(err) console.log(err);
console.log(body);
process.exit(0);
});
執行結果:
{"name":["123"]}
上面的相關文件,可參考:
留言
張貼留言