我似乎有触发器无法在我的Google Apps脚本中删除。我有一个理论,为什么我不能删除它们,但不知道如何解决问题。这些触发器附加到绑定到与我共享的单独Google帐户上的文件的脚本中。我当然能够编辑和修改脚本,例如在共享文件时我想要的。从那时起,虽然与我共享文件的Google帐户已被删除,但我认为“冻结”的触发器是来自该帐户的那些文件的残留物。有关如何解决此问题的任何建议吗?
答案 0 :(得分:2)
无法从该窗口中删除简单触发器: See Here
而是将此功能添加到您的脚本并运行它:
function deleteTriggers() {
var allTriggers = ScriptApp.getProjectTriggers();
for (var i = 0; i < allTriggers.length; i++) {
ScriptApp.deleteTrigger(allTriggers[i]);
}
}
答案 1 :(得分:0)
您是否曾尝试访问自己的Google帐户,然后选择“帐户设置”,然后选择“帐户权限”。您应该被定向到具有每个权限(应用程序和脚本)的列表。你或许可以在那里找到它。
https://security.google.com/settings/security/permissions?pli=1
答案 2 :(得分:-1)
您可以尝试了解有关脚本容器文档的更多信息。 您可以检查编辑URL和用户。 如果文档未绑定到容器,则可以从菜单访问共享信息。 如果您是最后一个使用该脚本的人,您还可以复制脚本并删除原始脚本 - 手动或作为文档。但要注意脚本属性之类的依赖关系。
我写了一个简短的循环来记录有关容器Url及其查看器的信息:
function containerFinder() {
if (DocumentApp.getActiveDocument()) {
var document = DocumentApp.getActiveDocument();
var editUrl = document.getUrl();
var editors = document.getViewers();
Logger.log("This Script belongs to a document.");
Logger.log("Edit Url: " + editUrl);
Logger.log("Editors: " + editors);
}
else if (SpreadsheetApp.getActiveSpreadsheet()){
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var editUrl = spreadsheet.getUrl();
var editors = spreadsheet.getEditors();
Logger.log("This Script belongs to a spreadsheet.");
Logger.log("Edit Url: " + editUrl);
Logger.log("Editors: " + editors);
}
else if (FormApp.getActiveForm()){
var form = FormApp.getActiveForm();
var editUrl = form.getEditUrl();
var editors = form.getEditors();
Logger.log("This Script belongs to a form.");
Logger.log("Edit Url: " + editUrl);
Logger.log("Editors: " + editors);
}
else {
Logger.log("This Script does not seem to belong to any container.");
}
}