簡體   English   中英

Google Apps for Forms腳本:希望通過電子郵件向用戶發送特定號碼

[英]Google Apps Script for Forms: Want to send users specific number on email

可以要求用戶在FORM中寫出他們的電子郵件地址,然后他們收到具有唯一編號的電子郵件嗎?

我在這里了解如何發送自動電子郵件給提交者-http: //www.labnol.org/internet/auto-confirmation-emails/28386/

但是不知道如何分別給他發送唯一的號碼!

您可以嘗試使用上面的代碼來檢索表單響應的唯一ID。 但這不是排序的數字(1,2,...)。 這是表單生成的唯一隨機數。 我的建議是不要嘗試構建從1開始甚至更遠的東西,因為它是異步的,因此您沒有安全的排序項目列表。 詳情請參閱這里

/**
* for a form with 2 question named "question 1" and "question 2"
* this function need to be associated directly to the form
* and it need to be associated to a trigger "on form submit"
* the "e" given as argument is generated by the form submit trigger
*/
function submitFormFunc(e) {
  var items = e.response.getItemResponses();
  var responses={};
  for(var i = 0; i< items.length; i++) {
   responses[items[i].getItem().getTitle()]=items[i].getResponse();
  }

  var responseTable = [];
  var responseIndex = ["Timestamp","ID","question 1","question 2"];
  responseTable.push(e.response.getTimestamp().toString());
  responseTable.push(e.response.getId());
  responseTable.push(responses["question 1"]); // my form have 2 questions named "question 1" and "question 2"
  responseTable.push(responses["question 2"]);
  responseTable.push(FormApp.getActiveForm().getResponse(e.response.getId()).getEditResponseUrl());
  SpreadsheetApp.openById("YOUR_SPREADSHEET_ID").appendRow(responseTable);
}

- 編輯 -

如果您想縮短時間,可以使用時間戳:

更改(或添加) responseTable.push(e.response.getTimestamp().toString()); 對於

responseTable.push(e.response.getTimestamp().getTime().toString());

甚至更短,但效率稍低:

您可以添加一行:

responseTable.push(generateUnique());

並添加功能:

function generateUnique(){
  var vals =  SpreadsheetApp.openById("YOUR_SPREADSHEET_ID").getRange("A:A").getValues();
  var ids=[];
  for(var i in vals){
    ids.push(vals[0]);
  }
  var newId = Math.floor(Math.random()*100); // change 100 for something bigger if needed
  while(ids.indexOf(newId)>-1){
    newId = Math.floor(Math.random()*100);
  }
  Logger.log(newId);
  return(newId);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM