跳到主要內容

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....

Great help function - Google Helpouts

無意間發現Google在API頁面啟用了Helpouts的功能了! 看到了嗎,右邊的舉手小人... 點下去就可以跟Expert聯絡... 媒合需要一點時間,這時候採用Email做非同步回覆... 點下Connect Now,就可以進入對談頁面... Helpouts直接線上媒合Google Expert來回答使用上的問題 可以透過Hangout, Video, Audio, Phone...  看起來真的遇到操作上的需要還可以透過分享桌面(有個電腦的icon...Hangout都有了,應該不難唷) 這時,回到原本發問的Page 可以看到整個內容會被嵌入到Helpouts的側邊欄 Google真是把自家的產品整合到一個極致啊! 越來越愛他了!