谷歌脚本openById:您没有权限执行该操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了谷歌脚本openById:您没有权限执行该操作相关的知识,希望对你有一定的参考价值。

电子表格中的事件驱动脚本会打开另一个电子表格

var ss = SpreadsheetApp.openById(otherSpreadsheetId); 

查看执行记录,我收到以下错误

SpreadsheetApp.openById([0AjqSnE_p3nFqdDN0LWpFbjFqVDRwNmFGOV91QzZrZc])[0秒]执行失败:您无权执行该操作。

当我直接在调试器中运行该函数时,我成功打开了另一个电子表格。当函数由“onEdit”事件运行时,我得到错误。

我是否需要启用特定的API?

答案

可安装的触发器

OnEdit触发器有两种类型。可安装触发器可以“更改其他文件”,请参阅:developers.google.com/apps-script/guides/triggers/installable

@kusi提供了答案作为评论,只是在这里添加。

另一答案

您可以在当前工作表中以编程方式设置可安装触发器,这样就可以调用openById

function onOpen() {
  ScriptApp.newTrigger('myOnEdit')
   .onEdit()
   .create();
}

function myOnEdit(e){
   SpreadsheetApp.openById('id_of_other_sheet');
}

以上是关于谷歌脚本openById:您没有权限执行该操作的主要内容,如果未能解决你的问题,请参考以下文章

您无权执行该操作

copyto谷歌应用程序脚本没有工作表名称中的“复制”

队列不存在或您没有足够的权限来执行该操作。通过 MSMQ 发送消息时出现异常

未能将测试运行“xxxx 2011-10-20 13:00:00”排队。您没有执行该操作的适当权限

执行文件需要读取权限?

Android 谷歌地图我的位置权限