Apps 脚本插件触发器设置在我的插件项目中,而不是用户电子表格应用程序脚本项目
Appscript addon triggers are set inside my addon project, instead of user's spreadsheet's appscript project
我正在创建一个名为 Everyday Addon
的 appscript 插件,它创建了一个名为 Trigger1
的触发器,它每天运行。
Trigger1
可以通过插件主页的Add Trigger
按钮设置。同样可以通过 Remove Trigger
按钮将其删除。同样,删除按钮也有效,但在我的 Addon Appscript 项目中有效。
测试:
- 作为测试插件部署的项目。
- 已安装插件。
- 我创建了一个名为
Test SS
的新电子表格。它已经安装了我的插件。
- 我点击
Add Trigger
按钮。
结果:
Trigger1
已创建,但它是在我的 Everyday Addon
Appscript 项目上创建的。它不是在新电子表格上创建的 - Test SS
.
我做错了什么?触发器不应该位于 Test SS
电子表格的项目上吗?
如果 100 位用户安装了我的插件,那么 100 位 Trigger 将位于我的插件项目中?
这是有意为之的行为!
您以编程方式创建的触发器将附加到附加组件而不是目标电子表格 - 这是因为您打算 运行 触发的函数在附加项目文件中,而不是目标 Sheet 的绑定脚本。
话虽这么说 - 这是每个用户的行为。发布后,您不会将数百个触发器都绑定到您的脚本项目,因为每次用户创建触发器时,它都会绑定到他们的帐户,而不是您的帐户。
记住: Apps 脚本配额将触发器限制为 20 per user per script,因此每个用户最多可以通过您的插件安装 20 个触发器可以再安装了。
进一步阅读: 根据 testing editor add-ons 上的文档:
Installable triggers aren't supported when testing. Functionality that depends on installable triggers are not testable.
我正在创建一个名为 Everyday Addon
的 appscript 插件,它创建了一个名为 Trigger1
的触发器,它每天运行。
Trigger1
可以通过插件主页的Add Trigger
按钮设置。同样可以通过 Remove Trigger
按钮将其删除。同样,删除按钮也有效,但在我的 Addon Appscript 项目中有效。
测试:
- 作为测试插件部署的项目。
- 已安装插件。
- 我创建了一个名为
Test SS
的新电子表格。它已经安装了我的插件。 - 我点击
Add Trigger
按钮。
结果:
Trigger1
已创建,但它是在我的 Everyday Addon
Appscript 项目上创建的。它不是在新电子表格上创建的 - Test SS
.
我做错了什么?触发器不应该位于 Test SS
电子表格的项目上吗?
如果 100 位用户安装了我的插件,那么 100 位 Trigger 将位于我的插件项目中?
这是有意为之的行为!
您以编程方式创建的触发器将附加到附加组件而不是目标电子表格 - 这是因为您打算 运行 触发的函数在附加项目文件中,而不是目标 Sheet 的绑定脚本。
话虽这么说 - 这是每个用户的行为。发布后,您不会将数百个触发器都绑定到您的脚本项目,因为每次用户创建触发器时,它都会绑定到他们的帐户,而不是您的帐户。
记住: Apps 脚本配额将触发器限制为 20 per user per script,因此每个用户最多可以通过您的插件安装 20 个触发器可以再安装了。
进一步阅读: 根据 testing editor add-ons 上的文档:
Installable triggers aren't supported when testing. Functionality that depends on installable triggers are not testable.