我有一个应该安装一次的可安装触发器。但是我发现我的一些同事重新运行了我的代码,并重新创建了3个与之完全相同的触发器。我感到很傻,以至于我没有添加任何条件声明...
无论如何,现在我想删除这些额外的触发器。但是我在GAS项目的控制台UI上找不到删除/编辑按钮。而且我也尝试过ScriptApp.getProjectTriggers()
,但它仍然列出了仅属于我的项目的触发器。
如何删除其他人(其他用户拥有)创建的这些额外触发器?还是可以从头开始重新启动项目?
答案 0 :(得分:0)
除了@Alan Wells评论以外-不,您definitely cannot。不过,您可以做的是使您的用户使用如下代码代表他们运行卸妆功能(如果您的脚本是容器绑定的,则将其添加到onOpen()
触发器中(如果您有)或其他任何功能您希望会被其他人呼叫)
function deleteAllTriggers() {
var ts = ScriptApp.getProjectTriggers();
ts.forEach(function(trigger){
var handlerName = trigger.getHandlerFunction();
if(handlerName === 'yourFunctionName') { //check if you are deleting target trigger;
ScriptApp.deleteTrigger(trigger);
Utilities.sleep(1000); //wait (in this sample 1s) to avoid "too many times" error;
}
});
}