gpt4 book ai didi

javascript - 我的 "From spreadsheet - On form submit"触发器在我每次尝试运行时都会被禁用 - 我如何找出原因?

转载 作者:行者123 更新时间:2023-11-29 22:44:26 25 4
gpt4 key购买 nike

我有一个 Google 表单,可以在 Google 表格中收集 reddit 用户名。我有一个脚本来检查用户名是否不存在(即 https://www.reddit.com/user/<username> 给出 404)或被禁止(用户名在列表 var banned_users = [...] 中查找)。如果它不存在或被禁止,我将该行标记为橙色。这是脚本:

function validateUser() {
var spreadsheet = SpreadsheetApp.openById(sheet_id);
var sheet = SpreadsheetApp.setActiveSheet(spreadsheet.getSheets()[0]);
var last_row_number = sheet.getLastRow();
var reddit_username = sheet.getRange(last_row_number, 2).getValue();
var reddit_username_cell = sheet.getRange(last_row_number, 2);
var reddit_username_row = sheet.getRange(last_row_number, 1, 1, 19);

if (banned_users.indexOf(reddit_username) != -1) {
reddit_username_cell.setNote('This user is banned.');
reddit_username_row.setBackground('#ff9900')
} else {
var url = 'https://www.reddit.com/user/' + reddit_username.slice(2) // Get rid of the leading 'u/'
var options = {
'muteHttpExceptions': true,
'followRedirects': true
};
var response = UrlFetchApp.fetch(url, options);
var http_code = response.getResponseCode();

if (http_code == '404') {
reddit_username_cell.setNote('This user does not exist.');
reddit_username_row.setBackground('#ff9900') // #ff9900 is default orange
}
}
}

当我手动运行该函数时,此脚本有效。当我提交表单并从脚本编辑器触发它时,它成功地标记了被禁止或不存在的用户。但是,当我添加触发器以在表单提交时运行它,然后进行表单提交时,它会被禁用:

Trigger Disabled Unknown Reason

我不明白为什么。没有解释原因的电子邮件或显示它运行的日志。 我如何找出此触发器被禁用的原因以及如何修复它?谢谢!

最佳答案

从独立脚本(非 Sheets-bound)运行它时,出现以下错误:

Please select an active spreadsheet first. (line 11, file "Code")

执行该行时:

var sheet = SpreadsheetApp.setActiveSheet(spreadsheet.getSheets()[0]);

触发器也会以独立的方式运行脚本,因此我建议您避免使用active 工作表。相反,您可以简单地将上面的代码行替换为以下内容:

var sheet = spreadsheet.getSheets()[0];

关于javascript - 我的 "From spreadsheet - On form submit"触发器在我每次尝试运行时都会被禁用 - 我如何找出原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59016023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com