【问题标题】:No Permission to call setValues() - Google Apps Script, JSON data [duplicate]无权调用 setValues() - Google Apps 脚本,JSON 数据 [重复]
【发布时间】:2016-11-25 14:13:46
【问题描述】:

这是一个将 JSON 数据提取到 Google 表格中的 Google Apps 脚本。

代码是:

function pullJSON() {

  var url="https://api.myjson.com/bins/4610d"; // publicly available json

  var response = UrlFetchApp.fetch(url); // 
  var sheet =  SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");

  var dataAll = JSON.parse(response.getContentText()); 
  var dataSet = dataAll;

  var rows = [],
      data;

  for (i = 0; i < Object.keys(dataSet).length; i++) {
    data = dataSet[Object.keys(dataSet)[i]];
    rows.push([data.name]); //JSON entities here
  }

  dataRange = sheet.getRange(1, 1, rows.length, 1); 
  dataRange.setValues(rows);
}

在 Google 表格中,我通过在单元格中输入 =pullJSON() 来调用该函数。它显示错误:

“您没有权限调用 setValues(line 20)”,指的是以下行:dataRange.setValues(rows);

并在单元格 A1、A2、A3 中产生“未定义”结果。

JSON 数据源就是这样的:

{"id":1,"name":"A green door","price":12.5}

这样做的目的是为了能够将 JSON 数据转换成 google sheet 中的表格形式。

以上大部分内容都紧随此线程中的内容: "The coordinates or dimensions of the range are invalid" - Google Apps Script and JSON Data

非常感谢您对此问题的任何指导。

【问题讨论】:

    标签: json google-apps-script google-sheets custom-function


    【解决方案1】:

    自定义函数不能影响除了它返回的单元格之外的单元格 值到。换句话说,自定义函数不能任意编辑 单元格,仅调用它的单元格及其相邻单元格。到 编辑任意单元格,使用自定义菜单来运行函数。

    来自文档:https://developers.google.com/apps-script/guides/sheets/functions

    我不知道您的确切用例,但看起来可以从自定义菜单运行您的功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-26
      • 2020-06-05
      • 2021-03-06
      • 1970-01-01
      • 2013-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多