基于时间的触发器不会 运行 复制带有绑定脚本的模板文档?
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
触发器。
我有一个模板文档,其中包含一个绑定脚本,可以执行一些基本的字段验证。除了菜单项之外,我还在 onOpen(e)
到 运行 验证函数中每分钟创建一个基于时间的触发器。当我打开模板文档时,所有这一切都完美无缺(我已在出现提示时授予访问该文档的权限)。
ScriptApp.newTrigger(TRIGGER_FUNCTION_NAME)
.timeBased()
.everyMinutes(1)
.create();
当我创建此模板文档的副本时,基于时间的触发器不会 运行 供其他用户使用。从 documentation and here 我读到安装的触发器将 运行 使用我的凭据,这没问题。但我不明白为什么触发器不会 运行 在另一个具有编辑权限(或提示权限)的用户的复制文档中?
这种做法可行吗?附加组件每小时只能 运行 一次,所以我不能使用它,而且文档没有 onEdit()
触发器。 onOpen()
是否也必须是已安装的触发器才能工作?
您的时间驱动触发器是可安装的触发器,但我认为您的 onOpen(e)
触发器不是
所以是的,如果您的 onOpen(e)
函数旨在安装时间驱动的触发器 - 这是一个需要授权的请求,因此不能从简单的 onOpen(e)
触发器中执行,因为指定 here.
因此,很遗憾,您需要手动向模板的每个副本添加一个可安装的 onOpen
触发器。