基于时间的触发器不会 运行 复制带有绑定脚本的模板文档?

Time-based trigger doesn't run on copy of a template document with bound script?

我有一个模板文档,其中包含一个绑定脚本,可以执行一些基本的字段验证。除了菜单项之外,我还在 onOpen(e) 到 运行 验证函数中每分钟创建一个基于时间的触发器。当我打开模板文档时,所有这一切都完美无缺(我已在出现提示时授予访问该文档的权限)。

ScriptApp.newTrigger(TRIGGER_FUNCTION_NAME)
  .timeBased()
  .everyMinutes(1)
  .create();

当我创建此模板文档的副本时,基于时间的触发器不会 运行 供其他用户使用。从 documentation and here 我读到安装的触发器将 运行 使用我的凭据,这没问题。但我不明白为什么触发器不会 运行 在另一个具有编辑权限(或提示权限)的用户的复制文档中?

这种做法可行吗?附加组件每小时只能 运行 一次,所以我不能使用它,而且文档没有 onEdit() 触发器。 onOpen() 是否也必须是已安装的触发器才能工作?

您的时间驱动触发器是可安装的触发器,但我认为您的 onOpen(e) 触发器不是

所以是的,如果您的 onOpen(e) 函数旨在安装时间驱动的触发器 - 这是一个需要授权的请求,因此不能从简单的 onOpen(e) 触发器中执行,因为指定 here.

因此,很遗憾,您需要手动向模板的每个副本添加一个可安装的 onOpen 触发器。