2 时间触发器 - Google 应用程序脚本

1 triggers google-apps-script google-apps-script-addon

我在线查看了 google 应用程序脚本可安装触发器文档(https://developers.google.com/apps-script/support),其中一个示例显示了 2 如何创建 2 个时间触发器。

function createTimeDrivenTriggers() {
  // Trigger every 6 hours.
  ScriptApp.newTrigger('myFunction')
      .timeBased()
      .everyHours(6)
      .create();

  // Trigger every Monday at 09:00.
  ScriptApp.newTrigger('myFunction')
      .timeBased()
      .onWeekDay(ScriptApp.WeekDay.MONDAY)
      .atHour(9)
      .create();
}
Run Code Online (Sandbox Code Playgroud)

我的代码:

function createTimeDrivenTriggers() {
  // Trigger every 1 hours.
  ScriptApp.newTrigger('MainFunctionDaily')
      .timeBased()
      .everyHours(1)
      .create();

  // Trigger every Friday at 13:00.
  ScriptApp.newTrigger('MainFunctionWeekly')
      .timeBased()
      .onWeekDay(ScriptApp.WeekDay.FRIDAY)
      .atHour(13)
      .create();
}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试创建触发器时,出现错误:

此插件在此文档中为此 Google 用户帐户创建了太多基于时间的触发器

请指教

Rub*_*bén 5

更新:附加组件的文档已移动。在这种情况下,下面提到的限制的新位置是https://developers.google.com/gsuite/add-ons/concepts/editor-triggers


在 Google Apps Scripts 插件上,不可能通过代表同一用户运行的函数在同一文档上创建两个相同类型的触发器。

来自https://developers.google.com/apps-script/guides/triggers/installable#limitations(重点是我的):

限制
加载项中的可安装触发器有几个限制:

每个附加组件只能有每个类型、每个用户、每个文档的一个触发器。例如,在给定的电子表格中,给定的用户只能有一个编辑触发器,尽管用户在同一电子表格中也可以有表单提交触发器或时间驱动触发器。

替代方案是

  • 使用不同的帐户来创建每个触发器。
  • 为每个所需的触发器创建多个附加组件
  • 使用常规脚本而不是附加组件。