我试图根据用户电子邮件创建一个Google表单自定义菜单。 代码如下:Session.getActiveUser().getEmail()结果不一致
var AllowedReportRecipients = ["[email protected]", "[email protected]", "[email protected]"];
var ReportRecipient = null;
function onOpen()
{
var ui = SpreadsheetApp.getUi();
var menu = ui.createMenu('Custom');
menu.addItem('Edit', 'editHtm')
.addItem('History', 'historyHtm');
var usr = Session.getActiveUser().getEmail();
var isReportee = false;
for (var i=0;i<AllowedReportRecipients.length; i++)
if (AllowedReportRecipients[i] == usr)
{
ReportRecipient = usr;
isReportee = true;
}
if (isReportee)
menu.addItem('Request abc', 'sendABC');
menu.addToUi();
}
这是一个未发表片脚本。正如其他人报告了对getActiveUser()的调用。当表单的非所有者打开表单时,getEmail()返回空白。但是,以后执行的getActiveUser()。getEmail()调用会正确返回登录的用户电子邮件。例如,当在historyHtm中响应“历史”菜单项调用时,点击它的工作。为什么区别?我如何正确加载我的菜单?