电子表格附加验证错误 - 文档所有者和活动用户不匹配

Spreadsheet add-on Auth Error - document owner and active user do not match

在我的电子表格插件中,我检查了文档所有者:

  var USEREMAIL = Session.getEffectiveUser().getEmail();
  var owner = SpreadsheetApp.getActive().getOwner().getEmail();
    if (USEREMAIL == owner) {
      menu.addItem('Owner menu', 'ownermenu');
      menu.addToUi();
    } else {
      menu.addItem('Not owner', 'notowner');
      menu.addToUi();
    } 

这也是解决用户登录多个帐户的已知问题的回退方法。所以我最近发现,即使我是文档所有者并且我只登录了一个帐户,我仍然会看到非所有者菜单。

问题可以通过重新安装附加组件来解决,但它仍然是 Google 错误吗?我没有看到重新安装后它可以正常工作的明显原因,那么我这边应该不是问题。

所有者的电子邮件地址是 not available 在允许脚本未经用户授权 运行 的任何上下文中,例如简单的 onOpen(e) 或 onEdit(e)。

因此对 getOwner 的调用将 return onOpen 中的 null。