谷歌应用脚​​本UrlFetchApp.fetch限制?

时间:2012-05-18 02:30:34

标签: google-apps-script

我有一个简单的脚本,可以提取大约30,000个JSON字符。

当我尝试使用SyntaxError: Unexpected token: F (line 12)JSON.parse()

解析时,我得到Utilities.jsonParse();
function refresh() {

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  sheet.clear();


  var text = UrlFetchApp.fetch("http://blablah/json");

  Logger.log(text.getContentText());

  //error SyntaxError: Unexpected token: F (line 12)
  json = JSON.parse(text);
)

记录器只显示约59行JSON,但我被告知记录器有一个空间限制 - 但我不确定是不是。

在我自己的服务器上运行,JSON.parse解析数据就好了,jQuery get()也是如此。

所以我认为UrlFetchApp.fetch()无法获取长文件?

很难接受,我没有找到任何关于它的文件:(

1 个答案:

答案 0 :(得分:5)

您可以检查新的应用脚本dashboard上的UrlFetch和其他服务限制。根据我的经验,Logger.log对单个日志的限制比UrlFetch更严格,UrlFetch可能正常运行,Logger.log没有显示它并且您遇到了其他问题。

尝试将getContentText结果放在其他位置,例如电子表格单元格。或者拆分它并在for循环中调用logger log。

您可能面临的一个错误(除配额限制外)是字符编码,getContentText有一个可选参数,您可以在其中通知页面的编码,是否已检查过?