语法错误:当 Google Sheets api 调用 JSON.parse() 结果时,JSON 中的未终止字符串位于位置 52428390

问题描述 投票:0回答:1

我正在构建一个 Google Apps 脚本网络应用程序,我需要从电子表格中检索数据。

function testOther() {
  var spreadsheetId = "spreadsheetID";
  var range = "'PERMISSIONS'!A1:G";
  var token = ScriptApp.getOAuthToken();
  var url = "https://sheets.googleapis.com/v4/spreadsheets/" + spreadsheetId + "/values/" + range + "?majorDimension=ROWS&valueRenderOption=FORMULA";

  var request = {
    method: "get",
    url: url,
    headers: { Authorization: "Bearer " + token },
    muteHttpExceptions: true,
  };
    var response = UrlFetchApp.fetch(url, request);
    var jsonResponse = JSON.parse(response.getContentText());
}

字符串中的结果如下所示,值可以包含数十万个结果:

{
  "range": "PERMISSIONS!A1:G491462",
  "majorDimension": "ROWS",
  "values": [
    [
      "ID",
      "Title",
      "Type",
      "Email",
      "Role",
      "Inherit",
      "From"
    ],
    [
      "val1",
      "val1",
      "val1",
      "val1",
      "val1",
      true,
      "val1"
    ],
    [
      "val2",
      "val2",
      "val2",
      "val2",
      "val2",
      true,
      "val2"
    ], 
    ...
]}

我的最终目标是拥有一个包含键“values”的值的变量。我正面临这个问题:

语法错误:JSON 中位置 52428390 处的未终止字符串

编辑:结果实际上被截断,因此错误消息是相关的。 google spreashsheets api 似乎有限制

javascript google-apps-script google-sheets
1个回答
0
投票

看起来 api 响应有大小限制,因此它返回了截断的响应。

© www.soinside.com 2019 - 2024. All rights reserved.