google 脚本 openById:您没有执行该操作的权限

google script openById : You do not have permission to perform that action

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

var ss = SpreadsheetApp.openById(otherSpreadsheetId); 

查看执行记录,出现以下错误

SpreadsheetApp.openById([0AjqSnE_p3nFqdDN0LWpFbjFqVDRwNmFGOV91QzZrZc]) [0 seconds] Execution failed: You do not have permission to perform that action.

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

我需要启用特定的 API 吗?

可安装触发器

OnEdit 触发器有两种类型。可安装触发器能够 'alter another file',参见:https://developers.google.com/apps-script/guides/triggers/installable

, 就加在这里吧

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

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

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