我正在尝试为电子表格绑定脚本创建一个可安装的 onEdit 触发器。我想使用单独的独立脚本以编程方式执行此操作。根据文档看来这应该是可能的:
请注意,与简单的 onOpen() 触发器不同,可安装触发器的脚本不需要绑定到电子表格。要从独立脚本创建此触发器,只需将 SpreadsheetApp.getActive() 替换为对 SpreadsheetApp.openById(id) 的调用。https://developers.google.com/apps-script/guides/triggers/installable#managing_triggers_programmatically 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();
}
我缺少什么?
嗯,这也许是可能的,但不是那样的。我认为您有点误解了文档。换句话说,它所说的是:要创建可安装的触发器,脚本不需要绑定到目标电子表格。但一如既往,触发器是针对正在运行的脚本本身的。无需为另一个脚本安装触发器。
脚本只能为自己设置触发器,并且没有 API 可以为另一个脚本设置触发器。
您可以将有界脚本发布为 Web 应用程序,然后远程独立脚本可以调用其 URL,基本上“告诉”有界脚本是时候设置其可安装触发器了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)