0

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

  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();
    } 

它也是用户登录到多个帐户的已知问题的后备方案。所以我最近发现,即使我是文档所有者并且我只登录了一个帐户,我仍然会得到非所有者菜单。

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

4

1 回答 1

2

所有者的电子邮件地址在任何允许脚本在没有该用户授权的情况下运行的上下文中都不可用,例如简单的 onOpen(e) 或 onEdit(e)。

因此,对 getOwner 的调用将在 onOpen 中返回 null。

于 2018-10-15T14:28:37.183 回答