Google apps script getActiveUser()不';不返回用户?

Google apps script getActiveUser()不';不返回用户?,google-apps-script,google-apps-script-addon,Google Apps Script,Google Apps Script Addon,我刚刚第一次将我的插件发布到G套件市场:D (大约两周后,谷歌今天发布了我们的插件) 我注意到的第一件事是:很多bug: 尽管我已经用绑定的文档非常仔细地测试了我的代码 与这行代码相关的错误: Session.getActiveUser().getEmail() 它总是返回一个空字符串,尽管我对https://www.googleapis.com/auth/userinfo.email 我想(但不能确定)我需要使用这个函数: Session.getEffectiveUser().getEmai

我刚刚第一次将我的插件发布到G套件市场:D

(大约两周后,谷歌今天发布了我们的插件)

我注意到的第一件事是:很多bug

尽管我已经用绑定的文档非常仔细地测试了我的代码

与这行代码相关的错误:

Session.getActiveUser().getEmail()
它总是返回一个空字符串,尽管我对
https://www.googleapis.com/auth/userinfo.email

我想(但不能确定)我需要使用这个函数:

Session.getEffectiveUser().getEmail()
我不能确定,因为我已经更新了代码并向G套件市场提交了一个新版本,但Google还没有发布(可能是因为从Addon Store到G套件市场的迁移仍然不稳定)

那么您是否有在G套件市场上使用Addon解决此问题的经验

我应该一直使用
getEffectiveUser()
而不是
getActiveUser()


编辑:

Session.getActiveUser().getEmail()
这是运行Session.getActiveUser()的代码的上下文:

  • 用户接受OAuth权限后
  • 边栏出现了
  • 客户端代码使用
    google.script.run.functionX…
根据这个指南 , 使用google.script.run时,AuthMode已满


正如我们在上看到的,如果无法访问用户信息,您将得到一个空白字符串。因为在某些情况下,
AuthMode
可以自动更改(如上所述),我们建议登录它以检查它是否处于
AuthMode.FULL
或任何其他模式。我们希望这对您有用。请不要犹豫,为我们提供更多信息以获得进一步帮助。

因为它高度依赖于上下文。您能提供有关代码执行上下文的详细信息吗?有关参考,请参阅。如果代码是在授权模式不是
AuthMode.FULL
的上下文中执行,这解释了返回的空字符串。@chuckx:谢谢。我编辑了我的问题,以提供有关查找帮助的上下文问题的信息调试代码应包括(在本例中包括服务器端和客户端代码)