在 Google雲端硬碟中,建立 Google 表單。
開啟指令碼編輯器。
輸入以下Google Apps Script。
function getFormResponse() { //表單名稱 var FORMNAME = "測試表單"; //取得表單 var formHandle = DriveApp.getFilesByName(FORMNAME).next(); //由表單 Id 開啟表單 var form = FormApp.openById(formHandle.getId()); //取得表單名稱 var formTitle = form.getTitle(); //取得表單回覆內容 var formResponse = form.getResponses(); //處理表單上問答內容 for(var i = 0; i < formResponse.length ; i++){ //取得表單上的項目 var itemResponses = formResponse[i].getItemResponses(); //傳送訊息設定 var itemContext = "\n" + formTitle + "\n 電子郵件 : " + Session.getEffectiveUser().getEmail() + "\n"; //將表單每一項問答組成訊息 for(var j = 0; j < itemResponses.length ; j++) { //取得問題標題 itemContext += itemResponses[j].getItem().getTitle(); //取得問題回覆內容 itemContext += " : " + itemResponses[j].getResponse() + "\n"; } //取得填寫表單時間 itemContext += "\n填寫時間 : " + formResponse[i].getTimestamp() + "\n\n\n"; //送出表單到Line sendToLine(itemContext); } //刪除回應問題 form.deleteAllResponses(); } function sendToLine(message){ var token = "你的Line Notify token"; var options = { method : "post", payload : "message=" + message, headers : {"Authorization" : "Bearer "+ token}, muteHttpExceptions : true }; UrlFetchApp.fetch("https://notify-api.line.me/api/notify",options); }
記得設定執行權與觸發事件。
要在使用者完成填寫表單後,把訊息送出到 Line Notify上,要設定觸發事件。
設定觸發條件,在使用者填寫完成後,指定函數進行事件觸發。
執行畫面:
參考資料:
- Uiサービス
- FormAppによるフォームの集計と作成 (1/5)
- Google Form 新增線上表單和寄信通知
- I/O 2013のGoogle Apps Script Update その1 Form上のGASとFormApp
- GoogleFormsとGoogleAppsScriptによる経験サンプリング自動調査システム
- google formで入力後に確認メールを送る
- Google ドライブ上に事前投句システムを作ってみた