Google apps script 如何找到我的谷歌工作表脚本中有任何定时触发器

Google apps script 如何找到我的谷歌工作表脚本中有任何定时触发器,google-apps-script,Google Apps Script,我有很多项目,其中一些非常非常大(新冠病毒-19相关研究),还有一些是定时触发的。随着时间的推移,我复制了脚本,重命名了脚本,并继续复制,添加了定时触发器。我知道我需要从脚本的已停止(但以前已存档)版本中删除触发器。但偶尔我会忘记 是否有一种方法可以让我在所有google工作表中搜索我的驱动器,并列出所有具有任何定时触发器的驱动器?您可以使用drive.Files.list()以查找所有项目文件 一般事务: 如果每个项目中都有这样一个脚本,您可能可以从appscriptapi执行它,但您必须选择

我有很多项目,其中一些非常非常大(新冠病毒-19相关研究),还有一些是定时触发的。随着时间的推移,我复制了脚本,重命名了脚本,并继续复制,添加了定时触发器。我知道我需要从脚本的已停止(但以前已存档)版本中删除触发器。但偶尔我会忘记


是否有一种方法可以让我在所有google工作表中搜索我的驱动器,并列出所有具有任何定时触发器的驱动器?

您可以使用
drive.Files.list()
以查找所有项目文件

一般事务:


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

Cooper,谢谢。当我把上面的函数放在一个触发函数的脚本文件中时,它会在运行脚本时显示该函数的名称。我不确定。好的还是坏的?好的,DriveApp.getFiles()返回文件对象列表,而.next()将获取列表中的下一个。。。我如何取消项目的脚本文件名,同时测试脚本是否存在?我根本不会使用DriveApp。我不是这么说的。我建议使用驱动API。您可以在查询中选择所需的文件类型。Cooper,请提供一个示例。。。非常感谢。
function getScriptNamesTheHaveTimeBasedTriggerInCurrentProject() {
  Logger.log(ScriptApp.getProjectTriggers().map(t => {
    if (t.getEventType() == ScriptApp.EventType.CLOCK) {
      return t.getHandlerFunction();
    }
  }).filter(e => e).join(','));
}