[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,但從中學了很多他的想法