首页 文章

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

提问于
浏览
1

我在 Headers 中收到错误 - 此加载项在此文档中为此Google用户帐户创建了太多基于时间的触发器

当我运行加载项 .

附加组件用于创建时间触发器 . 我在3个文档中共创建了7个触发器 .

现在我无法在任何文档中创建新的触发器 .

ScriptApp.newTrigger(“function”) . timeBased() . atHour(5).everyDays(1).create();

2 回答

  • 3

    调用创建新触发器的函数时,最好在同一函数中删除同名的所有现有触发器 . 否则,每次运行该功能时,最终都可能会创建一个新的触发器 .

    另一个好的选择是检查现有触发器并仅在不存在时创建新触发器 .

    function createTrigger(fnName) {
    
      var triggers = ScriptApp.getProjectTriggers();
      var triggerExists = false;
    
      for (var i = 0; i < triggers.length; i++) {
        if (triggers[i].getFunctionName() === fnName) {
          triggerExists = true;
          break;
        }
      }
    
      if (!triggerExists) {
        ScriptApp.newTrigger(fnName).timebase().everyHours(1).create;
      } 
    
    }
    
  • 0

    您只需运行一次即可创建触发器 . 在脚本编辑器中,转到编辑>所有触发器,您应该看到脚本的所有触发器 . 您将看到从该newTrigger函数创建的多个相同触发器 . 删除所有重复项 .

    enter image description here

相关问题