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 项目中有效。

测试:

  1. 作为测试插件部署的项目。
  2. 已安装插件。
  3. 我创建了一个名为 Test SS 的新电子表格。它已经安装了我的插件。
  4. 我点击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.