【问题标题】:UrlFetchApp.fetch(URL).getContentText() all of a sudden not working despite no changesUrlFetchApp.fetch(URL).getContentText() 突然无法正常工作,尽管没有任何变化
【发布时间】:2020-12-13 23:29:20
【问题描述】:

我有一个非常简单的谷歌脚本,它从互联网上抓取一个 CSV 文件并将其放入谷歌文档中。之前和之后还有更多内容,但这里是问题出现的地方:

  var csvUrl = "https://data.cdc.gov/resource/muzy-jte6.csv?$limit=6000";
  var csvContent = UrlFetchApp.fetch(csvUrl).getContentText();

它每晚自动运行,并且在过去六个月中一直运行没有问题。突然之间,它不再起作用了。脚本编辑器没有提供任何理由。该链接完全有效,并且仍然有效。我尝试使用来自不同网站的不同 CSV 链接,但遇到了同样的问题。

当我运行脚本时,它只说:

异常:意外错误: https://data.cdc.gov/resource/muzy-jte6.csv?$limit=6000(第 8 行,文件 "代码") 解雇

正如我所提到的,该脚本自夏天以来已经完美运行了 150 多次,并且它没有改变,文档没有改变,API 链接也没有改变。我唯一的猜测是我的 Google 帐户的权限发生了一些变化,但该应用仍然拥有我的 Google 帐户所需的所有权限。

请帮助我了解为什么脚本不再工作以及如何让它再次工作。

【问题讨论】:

  • 所以你得到了答案。目前还没有解决办法。该问题已被报告为错误,Google 开发人员正在努力解决此问题。我建议您为该问题加注星标,使其比现在更受欢迎,并且您还可以在问题得到解决时收到通知。
  • @Marios 我想为此提出一个当前的解决方法。这个问题可以重开吗?
  • @Cooper 我想为此提出一个当前的解决方法。这个问题可以重开吗?
  • @Tanaike 我认为所有解决方法最好有 1 个规范线程(Q/A)。在该重复线程中添加答案会更好吗,因此引用该线程的其他用户也可能受益?
  • @Tanaike 太好了。谢谢

标签: google-apps-script google-sheets google-sheets-api google-apps-script-api


【解决方案1】:

我也有同样的情况。当时,我注意到当使用 Google Spreadsheet 的内置函数作为 URL 时,可以检索到值。在这种情况下,作为当前的解决方法,我使用了以下流程。

  1. 输入公式=IMPORTDATA(URL)
  2. 从工作表中检索值。

当上面的流程反映到你的https://data.cdc.gov/resource/muzy-jte6.csv?$limit=6000的URL时,变成如下。

示例脚本:

function myFunction() {
  const url = "https://data.cdc.gov/resource/muzy-jte6.csv?$limit=6000";  // This is your URL.

  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
  sheet.clear();
  const range = sheet.getRange("A1");
  range.setFormula(`=IMPORTDATA("${url}")`);
  SpreadsheetApp.flush();
  const values = sheet.getDataRange().getValues();
  range.clear();
  console.log(values)
}
  • 在此示例脚本中,使用了“Sheet1”。所以请根据您的实际情况进行修改。
  • 运行上述脚本时,URL 中的值将作为values 的二维数组检索。
  • 在这个答案中,我使用了IMPORTDATA。但是对于每种情况,其他功能可能是合适的。在这种情况下,请检查它们。

注意:

  • 这是当前的解决方法。所以当这个问题被移除后,我认为你可以使用你原来的脚本。

参考资料:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多