我收到341封错误通知电子邮件,内容如下:
很抱歉,发生了服务器错误。请稍等一下再试一次。
通知电子邮件仅说明发生问题的功能名称。
脚本现在没有运行。任何尝试在脚本中运行任何函数都会产生上述错误。我使用脚本添加到电子表格中的自定义菜单也消失了。我发现无法调试脚本,因为脚本上的每个操作都会给我上述错误。
修改
以下是错误发生的功能
function crunchEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var gLabel = sheet.getRange("gmailLabel").getValues();
// check the current SpreadSheet for limits and create a
// new SpreadSheet if limits are approaching
checkSpreadSheet();
var gFolder = sheet.getRange("outputFolderName").getValues();
var gSpreadSheetName = sheet.getRange("outputSpreadsheetPrefix").getValues();
var threadsPerSearch = sheet.getRange("threadsPerSearch").getValues();
// Number of emails per search:
var threads = GmailApp.search("-label:" + gLabel, 0, threadsPerSearch);
for (var x=0; x<threads.length; x++) {
var messages = threads[x].getMessages();
// getting null...a thread without messages is weird
if(messages != null) {
for (var y=0; y<messages.length; y++) {
updateSpreadSheet(messages[y]);
}
}
GmailApp.getUserLabelByName(gLabel).addToThread(threads[x]);
}
}
我被困在中间,不知道为什么会发生这种情况?
有人可以指导解决问题吗?
答案 0 :(得分:10)
解决了问题。
问题在于其他一些功能中的字符串替换功能。我使用带有正则表达式的字符串替换函数作为替换函数的输入。正则表达式不正确,因为我得到上述错误。
这真的很奇怪,至少GAS应该给出一些正确的错误。
答案 1 :(得分:2)
完成后,脚本中的DriveApp功能不再出现“我们很抱歉服务器错误”。
答案 2 :(得分:0)
Hemaka Raveen 提供的答案似乎是正确的,它帮助我解决了同样的问题(当我的一个函数想要访问未为我启用的 API 时出现这种情况)。
但是在 2020 年 Google 为 Apps Script 引入了新的代码编辑器,Hemaka Raveen 的回答与旧版编辑器有关。要在新编辑器中启用 Google Drive API,请打开您的脚本,找到左侧的服务标签,点击+图标,选择Drive API strong> 并点击添加。
请记住,在此处启用它只是过程的一部分。您必须在 Google Cloud Platform 中启用它,但该步骤与 Hemaka Raveen 的描述相同。
答案 3 :(得分:0)
这似乎是一条一般性的“我不知道出了什么问题”的错误消息。 在我的情况下,我添加了一个库,使用该库的脚本的其他用户收到了这条消息,无论调用什么函数或触发触发器(甚至 onOpen())
当我将库部署为“版本 1”时解决了这个问题。