Session.getActiveUser().getEmail() returns 无值

Session.getActiveUser().getEmail() returns no Value

这是我的第一个 Whosebug 问题,所以我会尽力在此处做到条理清晰,但请原谅我的初学者错误:)

所以我在使用 Google 的脚本编辑器时遇到了一点问题,基本上我是在调用 Session.getActiveUser().getEmail() 以及 Session.getEffectiveUser().getEmail() 函数,但其​​中 none 正在返回一个值。

这是我使用的完整代码:

function onEdit(e){
    var email = Session.getActiveUser().getEmail();
    var range = e.range;
    range.setNote('Last modified: ' + new Date() + "User is " + Session.getEffectiveUser().getEmail() + "; " + Session.getActiveUser().getEmail());
}

然而我得到的输出总是一样的: Output in the Sheet

奇怪的是,这发生在几天前,在此之前相同的功能运行良好。

有没有人经历过这样的事情?是否有在脚本编辑器中获取邮件地址或用户名的解决方法?

谢谢并致以最诚挚的问候!

[以防您发现自己在这里] 来自文档:

...for example, the user's email address is not available in any context that allows a script to run without that user's authorization, like a simple onOpen(e) or onEdit(e) trigger...

这解释了 OP 面临的行为...