GroupsApp.getGroups()调用无法在电子表格的事件触发器中工作

时间:2013-11-12 13:27:26

标签: google-apps-script google-sheets google-spreadsheet-api

我一直在尝试在电子表格中完成一些自定义验证和访问检查, 基于用户所属的组。

据我所知,绑定到容器(电子表格)的以下触发器应该具有用户访问电子表格的权限:

function onEdit(event) {
    var groups = GroupsApp.getGroups();
    Logger.log(groups);
}

仍然会遇到错误:“执行失败:您无权调用getGroups”。 从独立脚本文件调用的相同函数(理论上是相同的访问)将看到用户的组。

我的问题是:

  • 我做错了吗?
  • 如果没有,有没有办法从电子表格事件中访问用户组?

可能不相关,但使用的是Windows 8和Chrome 30.0.1599.101 m。

2 个答案:

答案 0 :(得分:0)

如果您要阅读onEdit文档,则表示您无法调用需要身份验证的方法。使用其他名称安装触发器,而不是使用简单触发器。

答案 1 :(得分:0)

Zig Mandel的答案是正确的,因为像onEdit这样的简单事件无法调用需要授权的方法,但是你试图获取用户的组,这将是一个问题,因为可安装的触发器在脚本的作者的权限下运行(实际上设置触发器的人通常是脚本作者),这意味着不是用户的组,而是你的...

所以我担心你要做的事情是不可能的,因为这与电子表格脚本中的隐私规则相矛盾。(在他的回答中阅读文档hat Zig refers

访问用户组信息的唯一方法是在菜单中使用直接函数调用或使用要求授权的按钮。,没有自动化...