无法获取活跃用户的电子邮件

Unable to get Active user's email

出于调试目的,我尝试记录用户的电子邮件。我用了Session.getActiveUser().getEmail()。我收到以下错误。

Exception: You do not have permission to call Session.getActiveUser.getEmail() Required permissions: https://www.googleapis.com/auth/userinfo.email

因此我将 https://www.googleapis.com/auth/userinfo.email 作用域添加到我的插件中。现在我得到以下错误

The script does not have permission to get the active user's identity.

但是,如果我在我的帐户 (Gsuite) 或我们域中的任何其他用户上 运行 它,我就看不到错误。仅供参考:我是插件的所有者。

我是否遗漏了任何示波器?

我认为最好的解释是the official docs。插件用户上下文不假定强制授权,getEmail 方法可能 return 一个空字符串。

getActiveUser() 替换为 getEffectiveUser() 似乎可以正常工作。

getActiveUser()getEffectiveUser() 都不适合我。 Google 现在有一个未解决的问题,this 线程中的一些建议帮助了我:

(1) 按照 here.

的说明尝试将范围从(文件->项目属性->范围)复制到清单文件(查看->显示清单文件)

(2) 新应用程序脚本 运行时间由 Chrome v8 提供支持。如果 (1) 不起作用(对我不起作用)--> 按如下方式禁用 App Script 运行time:(运行 -> Disable App Script 运行time由 Chrome V8 驱动)。该项目现在将 运行 使用没有此问题的 Apps Script Legacy。

注意: (2) 在问题解决之前一直适用。