我使用Google的Quickstart: Add-on for Google Forms为我的表单的受访者启用电子邮件通知。我还添加了几行来向每个受访者发送唯一代码,我希望将这些代码存储在回复表中。
下面的代码发送带有代码的消息,但它不会在响应表中存储代码。
function sendRespondentNotification(response) {
var form = FormApp.getActiveForm();
var settings = PropertiesService.getDocumentProperties();
var emailId = settings.getProperty('respondentEmailItemId');
var emailItem = form.getItemById(parseInt(emailId));
var respondentEmail = response.getResponseForItem(emailItem)
.getResponse();
if (respondentEmail) {
var template =
HtmlService.createTemplateFromFile('RespondentNotification');
template.paragraphs = settings.getProperty('responseText').split('\n');
template.kod = (new Date).getTime().toString(16).substring(5);
template.notice = NOTICE;
var message = template.evaluate();
MailApp.sendEmail(respondentEmail,
settings.getProperty('responseSubject'),
message.getContent(), {
name: form.getTitle(),
htmlBody: message.getContent()
});
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var LastRow = sheet.getLastRow();
var cell = sheet.getRange(LastRow, 5);
cell.setValue(template.kod);
}
}
答案 0 :(得分:0)
您可以使用onFormSubmit生成唯一ID,并将其包含在电子邮件中以供webapp使用。 id可能是简单的事情,比如响应的行号(不在e.values中)或动态生成并作为新列写入响应电子表格。添加列不会破坏表单。