首页 > 解决方案 > 如何找到我的哪些谷歌工作表脚本有任何定时触发器

问题描述

我有很多项目,其中一些非常非常大(covid-19 相关研究),其中一些带有定时触发器。随着时间的推移,我制作了脚本副本、重命名并继续复制,添加了定时触发器。我知道我需要从已停产(但之前已存档)的脚本版本中删除触发器。但有时我会忘记。

有没有办法让我在所有谷歌表格中搜索我的驱动器并列出所有有任何定时触发器的驱动器?

标签: google-apps-script

解决方案


您可以使用它Drive.Files.list();来查找所有项目文件。

GS:

function getScriptNamesTheHaveTimeBasedTriggerInCurrentProject() {
  Logger.log(ScriptApp.getProjectTriggers().map(t => {
    if (t.getEventType() == ScriptApp.EventType.CLOCK) {
      return t.getHandlerFunction();
    }
  }).filter(e => e).join(','));
}

如果您在每个项目中都有这样的脚本,您可能可以从 App Script API 执行它,但您必须选择一些外部位置来存储最终输出。我不是 100% 确定它会起作用,因为我从未尝试过。就我而言,我有大约 700 个项目,但我几乎从来没有触发过你,所以我对尝试这样的事情没有任何真正的兴趣。


推荐阅读