Google apps script 嵌入表单时获取表单提交时的用户名

Google apps script 嵌入表单时获取表单提交时的用户名,google-apps-script,Google Apps Script,我一直在修改以下帮助台教程脚本: 由于这是仅供内部使用,我删除了“联系人电子邮件”字段,并将表单日志用户名设置为电子表格。我已经编辑了formSubmitReply函数: 原件: function formSubmitReply(e) { var userEmail = e.values[3]; MailApp.sendEmail(userEmail, "Help Desk Ticket", "Thanks for submitting your issue. \n\nWe'l

我一直在修改以下帮助台教程脚本:

由于这是仅供内部使用,我删除了“联系人电子邮件”字段,并将表单日志用户名设置为电子表格。我已经编辑了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变量的定义方式。当我查看实时表单并提交一张罚单时,它似乎起了作用

然而,在我将表单嵌入谷歌内部网站(我们的“内部网”)后,它就不再工作了

在嵌入表单时,我是否需要定义userEmail来工作

我也试过:

var userEmail = sheet.getRange(lastRow, getColIndexByName("Username")).getValue();
但是没有运气。任何帮助都将不胜感激!我在这方面显然是个新手,我只是想修改一些东西来让它正常工作


欢呼声

显然,嵌入形式的活动构造有所不同

尝试:


这将独立于事件,并且应该识别运行脚本的用户。

您能否更具体地说明“它不再工作”的方式?你是否有错误,如果有,是什么,在哪里?
var userEmail = Session.getEffectiveUser().getEmail();