跳到主要內容

Google Apps Script Event Object

Google Apps Script的Event系統有別於一般程式語言的Event寫法
Apps Script在"資源>您現有的觸發程序"中,可以註冊您的function到某個Event
例如下面就是把onOrderFormCommit()註冊到表單提交時候執行



而根據Apps Event的說明文件(https://developers.google.com/apps-script/understanding_events)指出
以Form的Event部分,將會接收到三個參數:


而這三個參數都會包在第一個傳入變數中,因此在onOrderFormCommit()中加入Logger檢視接收參數的內容...

function onOrderFormCommit(e){
  Logger.log('----------------->');
  Logger.log(JSON.stringify(e));
  Logger.log('----------------->');
...(skip)
}

透過"檢視 > 記錄",則可以看到表單送出的內容如下:


把它丟給JSON parser格式化一下,比較清楚...


如此,就可以比較明確的抓出Form的送出值來做處理(之前都笨笨的抓最後一筆...可以修改程式拉!)



留言

這個網誌中的熱門文章

透過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來了!