独立脚本是否可以为绑定到电子表格的另一个脚本创建触发器?

时间:2015-08-31 22:00:06

标签: google-apps-script

我正在尝试为电子表格绑定脚本创建一个可安装的onEdit触发器。我想以编程方式使用单独的独立脚本执行此操作。根据文档看起来这应该是可能的:

  

请注意,与简单的onOpen()触发器不同,可安装触发器的脚本不需要绑定到电子表格。要从独立脚本创建此触发器,只需使用对SpreadsheetApp.openById(id)的调用替换SpreadsheetApp.getActive()。   https://developers.google.com/apps-script/guides/triggers/installable#managing_triggers_programmatically

但是,当我运行下面的代码时,触发器将添加到独立脚本项目中,而不是目标电子表格绑定脚本。

function createSpreadsheetEditTrigger() {
  var ss = SpreadsheetApp.openById('1vcAgQ6vPZiILFX0fB_jojyrSdGKr7goD_iCQcFsImEM');
  ScriptApp.newTrigger('update')
   .forSpreadsheet(ss)
   .onEdit()
   .create();
}

我错过了什么?

1 个答案:

答案 0 :(得分:1)

嗯,这可能是可能的,但不是那样的。我想你有点误解了文档。换句话说,它所说的是:要创建一个可安装的触发器,脚本不需要限制在目标电子表格中。但是触发器一如既往地用于运行脚本本身。没有为另一个脚本安装触发器。

脚本只能为自己设置触发器,并且没有API为另一个脚本设置触发器。

您可以将有界脚本作为Web应用程序发布,然后远程独立脚本可以调用其URL,基本上“告诉”有界脚本是时候设置其可安装触发器。