无权调用 setValues() - Google Apps 脚本,JSON 数据
No Permission to call setValues() - Google Apps Script, JSON data
这是一个 Google Apps 脚本,可将 JSON 数据提取到 Google 表格中。
密码是:
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() 来调用函数。它显示错误:
"You do not have permission to call setValues(line 20)" 指的是行:dataRange.setValues(行);
并在单元格 A1、A2、A3 中产生 "undefined" 结果。
JSON数据源就是这样:
{"id":1,"name":"A green door","price":12.5}
这样做的目的是为了能够将 JSON 数据转换成 google 表格中的 table 形式。
以上大部分内容紧跟本帖中的内容:
"The coordinates or dimensions of the range are invalid" - Google Apps Script and JSON Data
请就此问题提供任何指导,将不胜感激。
A custom function cannot affect cells other than those it returns a
value to. In other words, a custom function cannot edit arbitrary
cells, only the cells it is called from and their adjacent cells. To
edit arbitrary cells, use a custom menu to run a function instead.
来自文档:https://developers.google.com/apps-script/guides/sheets/functions
我不知道您的确切用例,但看起来可以从自定义菜单中 运行 您的功能。
这是一个 Google Apps 脚本,可将 JSON 数据提取到 Google 表格中。
密码是:
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() 来调用函数。它显示错误:
"You do not have permission to call setValues(line 20)" 指的是行:dataRange.setValues(行);
并在单元格 A1、A2、A3 中产生 "undefined" 结果。
JSON数据源就是这样:
{"id":1,"name":"A green door","price":12.5}
这样做的目的是为了能够将 JSON 数据转换成 google 表格中的 table 形式。
以上大部分内容紧跟本帖中的内容: "The coordinates or dimensions of the range are invalid" - Google Apps Script and JSON Data
请就此问题提供任何指导,将不胜感激。
A custom function cannot affect cells other than those it returns a value to. In other words, a custom function cannot edit arbitrary cells, only the cells it is called from and their adjacent cells. To edit arbitrary cells, use a custom menu to run a function instead.
来自文档:https://developers.google.com/apps-script/guides/sheets/functions
我不知道您的确切用例,但看起来可以从自定义菜单中 运行 您的功能。