Google Apps脚本:很抱歉,发生了服务器错误.请稍等一下再试一次

MA1*_*MA1 16 google-sheets google-apps-script

我收到了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]);
  }
}
Run Code Online (Sandbox Code Playgroud)

我陷入了无处不在的境地,不知道为什么会发生这种情况?

有人可以指导解决问题吗?

MA1*_*MA1 10

问题解决了.

问题在于其他一些函数中的字符串替换功能.我使用带有正则表达式的字符串替换函数作为替换函数的输入.正则表达式不正确,因为我得到上述错误.

这真的很奇怪,至少GAS应该给出一些正确的错误.

  • 3.5年后,错误仍然存​​在。我遇到了同样的错误,因为我向Utilities.formatString提供了undefined变量。GAS应该确实在此修复调试消息。 (2认同)
  • 我面临着这个问题,但没有得到任何解决它的线索。该解决方案为我提供了如何继续进行的线索。就我而言,我传递给服务器的对象的某些属性的值为“NaN”。这就是为什么它甚至没有进入该功能。GAS 至少应该显示一些有意义的错误。 (2认同)

小智 8

  • 脚本中 -> 资源 -> 高级谷歌服务 -> 开启 Drive API
  • 单击下面的消息“Google Cloud Platform API Dashboard”以打开脚本的云项目。
  • 选择项目后,在搜索栏中搜索“Drive API”-> ENABLE,对“Google Drive API”执行相同操作。

完成,脚本中的 DriveApp 函数不再出现“我们很抱歉服务器错误”。