Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 从API中拆分包含json的变量,然后将其放入特定单元格的最佳方法是什么?_Google Apps Script_Google Spreadsheet Api - Fatal编程技术网

Google apps script 从API中拆分包含json的变量,然后将其放入特定单元格的最佳方法是什么?

Google apps script 从API中拆分包含json的变量,然后将其放入特定单元格的最佳方法是什么?,google-apps-script,google-spreadsheet-api,Google Apps Script,Google Spreadsheet Api,这是我的密码: var pUrl = "http://api.perk.com/api/user/id/"; var tk = "/token/"; var options = { "method" : "GET", "contentType": 'application/text' } function perkTvApi1() { var response = UrlFetchApp.fetch("http://api.perk.com/api/user/id/515098/

这是我的密码:

var pUrl = "http://api.perk.com/api/user/id/";
var tk = "/token/";

var options = {
  "method" : "GET",
  "contentType": 'application/text'
}

function perkTvApi1() {
  var response = UrlFetchApp.fetch("http://api.perk.com/api/user/id/515098/token/01133528575d15554742e5bb9bc1fc484fd95ac2/", options);
  Logger.log(response.getContentText());
}
我试图找出如何分割响应变量,这样我就可以将它放入对应于时间戳的电子表格行中


我还没有在脚本服务中找到任何类型的分割函数,就像我在javascript中使用的那样。我已经没有想法和方法了。

最简单的方法是使用JSON库:两个最有用的函数是和

两者都是谷歌应用程序脚本的原生版本,所以你可以称之为

var object = JSON.parse(response)
perkTvApi1
中。现在,对象包含一个实际对象,这正是您想要的

然后,这只是一个问题,所以如果您想让cell
A1
成为第一个名字:

SpreadsheetApp.getActiveSheet().getRange('A1').setValue(object["firstName"]);
parse()是您想要的方法。退房


哎呀,你赢了我:)@rGil但你可以打赌他会选择谁…(提示,老师有1500次重复)我希望我能给你们两个评分,因为你们都回答了两个不同的部分。但是我必须把它交给JZL003,他提供了更完整的信息,因为他包括了关于如何通过链接以及电子表格进行解析的信息?如果我刚刚插入了一个1,那么appendrow会追加新行吗?你能提出一个新问题(这是一个复杂的解释)吗?
function myFunction() {
  var options = {
  "method" : "GET",
  "contentType": 'application/text'
}

var response = UrlFetchApp.fetch("http://api.perk.com/api/user/id/515098/token/01133528575d15554742e5bb9bc1fc484fd95ac2/", options);
var jsonResponse = JSON.parse(response)
Logger.log(jsonResponse.firstName);
Logger.log("Key length: " + Object.keys(jsonResponse).length);

var keys = Object.keys(jsonResponse);

//Loop through the keys array to push the json object into an array
//The array can then be used to set values in spreadsheet range
//May need to create 2d array depending on how you want your rows/columns arranged.

var ssData = [];
for (var i in keys){
  ssData.push(jsonResponse[keys[i]]);
}

Logger.log(ssData);

}