Google apps script 如何在Google Apps脚本中删除其他用户拥有的触发器?
我有一个可安装的触发器,应该创建一次。但我发现我的一些同事重新运行了我的代码,并重新创建了另外3个完全相同的触发器。我觉得自己太傻了,我没有为此添加任何条件语句 无论如何,现在我想删除这些额外的触发器。但是我在GAS项目的控制台UI上找不到删除/编辑按钮。我也尝试了Google apps script 如何在Google Apps脚本中删除其他用户拥有的触发器?,google-apps-script,Google Apps Script,我有一个可安装的触发器,应该创建一次。但我发现我的一些同事重新运行了我的代码,并重新创建了另外3个完全相同的触发器。我觉得自己太傻了,我没有为此添加任何条件语句 无论如何,现在我想删除这些额外的触发器。但是我在GAS项目的控制台UI上找不到删除/编辑按钮。我也尝试了ScriptApp.getProjectTriggers(),但它列出了项目中只有我拥有的触发器 我如何删除其他人创建的这些额外触发器(由其他用户拥有)?或者我可以重新开始我的项目吗?除了@Alan Wells:不,你。不过,您可以做
ScriptApp.getProjectTriggers()
,但它列出了项目中只有我拥有的触发器
我如何删除其他人创建的这些额外触发器(由其他用户拥有)?或者我可以重新开始我的项目吗?除了@Alan Wells:不,你。不过,您可以做的是让您的用户以如下方式代表他们运行一个删除程序函数(如果您的脚本是绑定到容器的,请将其添加到
onOpen()
trigger(如果您有)中,或者添加到您希望其他人调用的任何其他函数中):
ES6风格:
const deleteAllTriggers = () => {
const triggers = ScriptApp.getProjectTriggers();
triggers.forEach((trigger) => ScriptApp.deleteTrigger(trigger));
};
我不认为一个帐户拥有的脚本项目可以删除另一个帐户拥有的触发器。创建触发器的代码可能会获得会话。getEffectiveUser().getEmail(),如果不是您,则不要创建触发器。@AlanWells我现在肯定会添加此条件。谢谢但是很难理解为什么作为项目的所有者,一个人不能移除触发器,甚至看不到谁拥有它们。。。
const deleteAllTriggers = () => {
const triggers = ScriptApp.getProjectTriggers();
triggers.forEach((trigger) => ScriptApp.deleteTrigger(trigger));
};