我一直在修改此处的帮助台教程脚本:
https://developers.google.com/apps-script/articles/helpdesk_tutorial
由于这仅供内部使用,我删除了“联系电子邮件”字段,并将表单日志设置为电子表格的用户名。我编辑了formSubmitReply函数补偿:
原件:
function formSubmitReply(e) {
var userEmail = e.values[3];
MailApp.sendEmail(userEmail,
"Help Desk Ticket",
"Thanks for submitting your issue. \n\nWe'll start " +
"working on it as soon as possible. \n\nHelp Desk",
{name:"Help Desk"});
}
修改:
function formSubmitReply(e) {
var userEmail = e.user;
MailApp.sendEmail(userEmail,
"Help Desk Ticket",
"Thanks for submitting your issue. \n\nWe'll start " +
"working on it as soon as possible. \n\nHelp Desk",
{name:"Help Desk"});
}
如您所见,我所做的就是更改userEmail变量的定义方式。当我查看实时表格并提交票证时,它似乎有效。
但是,在我将表单嵌入到内部Google网站(我们的“内部网”)后,它就不再有用了。
我是否需要在嵌入表单时定义userEmail才能工作?
我也试过这个:
var userEmail = sheet.getRange(lastRow, getColIndexByName("Username")).getValue();
但没有运气。任何帮助,将不胜感激!我显然是新手,只是试图破解一些东西以使其正常工作。
干杯
答案 0 :(得分:1)
事件显然是针对嵌入式表单构建的。
尝试:
var userEmail = Session.getEffectiveUser().getEmail();
这将独立于事件,并应标识运行脚本的用户。