【问题标题】:App scripts trigger to send message on slack via a webhook creates duplicate triggers应用程序脚本触发通过 webhook 在 slack 上发送消息会创建重复的触发器
【发布时间】:2022-11-10 18:12:12
【问题描述】:
我已将触发器设置为每天上午 9 点运行,并通过 webhook 在松弛状态下发布到频道,尽管设置为每天运行,但我在频道中获得了重复的回报。
这是功能:
function setTrigger() {
ScriptApp.newTrigger('sendBirthdayMessage')
.timeBased()
.everyDays(1)
.atHour(9)
.nearMinute(00)
.create()
}
最终发生的是它多次运行。
在继续初始化新触发器之前,有没有办法检查当天的触发器是否已经执行?
【问题讨论】:
标签:
javascript
google-apps-script
google-sheets
【解决方案1】:
您的屏幕截图显示,您的 Apps 脚本项目中有 3 个触发器(不是同一个触发器的三个执行,而是三个不同的触发器)。所以最有可能的是,同一函数每天被调用 3 次。
您可以使用ScriptApp.getProjectTriggers() 列出项目中的触发器。这将返回Triggers 的列表。然后你对它们调用getHandlerFunction() 方法来查看它们将运行什么函数(doc)。
此外,您可以使用ScriptApp.deleteTrigger(THE_TRIGGER) 删除触发器(不是它的名称,而是触发器对象本身)。