跳到主要內容

Apps Script REST再一篇 - doPost request

通常操作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"]}

上面的相關文件,可參考:

留言

這個網誌中的熱門文章

透過Google Apps Script結合Google Form做即時郵件通知

體驗過Google Apps Script的功能後,也發現他結合GmailApps的模組 GmailApps的應用可以用在表單填寫完成後,做發信的通知 例如您開立了一個訂購的表單,為了要在第一時間通知商家有訂單進入 就可以直接呼叫Gmail做發信的通知,讓手持Smart Phone的我們可以很快的知道生意上門了! 下面規劃三個function,其中: onCommit():為form commit時候觸發的function,需要掛載於form commit trigger上 jsonArrToTable():目的將json array解析成為一個Table getLastRowTable():目的將整個table的回傳過濾為剩下第一筆(表頭,含有Form的欄位說明)與最後一筆(原則上就是剛剛送出的那一筆表單) 完整程式碼如下: function onCommit(){   var sheet = SpreadsheetApp.getActiveSheet();   var rows = sheet.getDataRange();   var numRows = rows.getNumRows();   var values = rows.getValues();   var content = getLastRowTable(values);   var htmlBody = "Hi Admin: <br/><br/>有訂單拉,檢查一下吧! <br/><br/>" + content + '<br/><br/>Send by Google Apps';   GmailApp.sendEmail(     " your-email-address@gmail.com ",      "Order Confirm Notice",      htmlBody,      {from: ' from-email-...

Share a chrome plugin for manage google cloud platform

好玩意兒報報.... 同事的新作,把Google Project List在Chrome Plugin中! 對一次管理多個專案的人來說,真得超方便的拉! 下載: https://chrome.google.com/webstore/detail/gdclauncher/bicgkglnnilldakpenngnblekooejnpg 使用說明: 1. Use browser url bar to quick search: Type "gdcl" in browser Press "TAB" to start search Type the project id key word then select the search result... 2. Using quick launch bar... You can search by keyword or click project name to go to the project or gae link to go to gae or go to billing page....

Cloud Monitor嚐鮮

GCP上,我們非常想要的一個功能,終於問世.... Cloud Monitor來了!