我有一个简单的脚本,可以提取大约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()无法获取长文件?
很难接受,我没有找到任何关于它的文件:(
答案 0 :(得分:5)
您可以检查新的应用脚本dashboard上的UrlFetch和其他服务限制。根据我的经验,Logger.log对单个日志的限制比UrlFetch更严格,UrlFetch可能正常运行,Logger.log没有显示它并且您遇到了其他问题。
尝试将getContentText
结果放在其他位置,例如电子表格单元格。或者拆分它并在for循环中调用logger log。
您可能面临的一个错误(除配额限制外)是字符编码,getContentText
有一个可选参数,您可以在其中通知页面的编码,是否已检查过?