谷歌Apps脚本错误:“您没有权限调用保护”谷歌Apps脚本错误:“您没有权限调用保护”(Googl

2019-05-12 10:53发布

我想我的第一张谷歌Apps脚本。 我想创建一个自定义功能(通过绑定脚本),将检查它是否在细胞受到保护。 如果是受保护的,它应该更改单元格的值(至少目前)的保护类型。

我可以成功地运行在文档的简单演示脚本:

function DOUBLE(input) {
  return input * 2;
}

但是,当调用范围::保护,我能在一个错误

"You do not have permission to call protect"

这里的功能

function isProtected() {
 var range = SpreadsheetApp.getActiveRange();
 var protection = range.protect();
 return protection.getProtectionType();
}

我也得到了相同的权限错误与其他一些功能,如Session.getEffectiveUser() 我想,因为这是一个绑定的自定义函数,我的头(只)表所有者,我可以调用这些方法。 我在想什么? 谢谢。

我试过的复制粘贴脚本到一个新表的脚本编辑器,因为有些职位有运气的是,但没有运气我。

Answer 1:

自定义功能匿名运行,所以隐含的后果是, 他们不能做任何事情需要授权

更改range protection需要的授权,这就是为什么你不能使用它,让你得到的消息...

对于同样的情况getEffectiveUser()它需要一个授权过。

在参考文档 :

与大多数其他类型的应用程序的脚本,自定义的功能不要求用户授权访问个人数据。 因此,他们只能调用服务没有访问个人数据



文章来源: Google apps script error: “You do not have permission to call protect”