[2016/1/6]現在有addon可以用了,Form裡面尋找addon,名叫simply send
如果使用者連email都遺失了?
哪只好設計一個查詢EditUrl的工具了,透過驗證查詢者輸入form裡某些欄位資料,來確認查詢者就是填報者,查詢結果顯示到一個公開的spreadsheet。
function verify_and_sendEditUrl(e){ var publiclog = SpreadsheetApp.openById('id_of_the_sheet_to_display_result').getSheetByName('sheet_name'); var data = publiclog.getDataRange().getValues(); var datao = []; var oform = FormApp.openById('id_of_form'); var oformResponses = oform.getResponses(); var qitemResponse = e.response.getItemResponses(); var maskemail = "*" + qitemResponse[1].getResponse().substr(1,2) + "***" + qitemResponse[1].getResponse().substr(6,5) + "*******"; var counter=0; var resultmsg=""; for (var i = 0; i < oformResponses.length; i++) { var oformResponse = oformResponses[i]; var oitemResponses = oformResponse.getItemResponses(); if(oitemResponses[4].getResponse() == qitemResponse[0].getResponse() && oitemResponses[11].getResponse() == qitemResponse[1].getResponse()){ MailApp.sendEmail(qitemResponse[1].getResponse() , "EditUrl", oformResponse.getEditResponseUrl()); counter++; } } if(counter==0){ resultmsg += "no match"; }else{ resultmsg += counter + "matches, mail with link has been sent"; } datao.push([Utilities.formatDate(e.response.getTimestamp(),"GMT+8","MM/dd HH:mm:s"), maskemail ,resultmsg]); for(i=1;i<10;i++){ datao.push([data[i][0],data[i][1],data[i][2]]); } publiclog.getRange(2, 1, 10, 3).setValues(datao);}參考資料:
後來沒用到FormEmailer,但從中學了很多他的想法