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

问题描述 投票:1回答:2

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

var ss = SpreadsheetApp.openById(otherSpreadsheetId); 

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

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

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

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

google-apps-script google-sheets google-drive-sdk
2个回答
3
投票

可安装的触发器

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

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


0
投票

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

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

function myOnEdit(e){
   SpreadsheetApp.openById('id_of_other_sheet');
}
© www.soinside.com 2019 - 2024. All rights reserved.