[英]Google Sheets App Script While Loop won't stop iterating?
[英]API won't return data (Google Sheets / App Script)
我相信问题出在用于创建table.push
的var 的定义中,对于正确的数据路径, var dia
、 var mes
、 var ano
、 var hora
、 var minuto
的定义也是如此?
function CartolaPrazo() {
var url = 'https://api.cartolafc.globo.com/mercado/status';
var response = UrlFetchApp.fetch(url);
var results = JSON.parse(response.getContentText());
console.log(response)
var table = [['dia','mês','ano','hora','minuto']];
for (var i = 0; i < results.length; i++) {
var r = results[i];
var dia = r.fechamento.dia;
var mes = r.fechamento.mes;
var ano = r.fechamento.ano;
var hora = r.fechamento.hora;
var minuto = r.fechamento.minuto;
table.push([dia,mes,ano,hora,minuto]);
}
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(1, 22, table.length, table[0].length).setValues(table);
}
您需要运行console.log(results)
而不是console.log(response)
。
response
包含一个HTTPResponse对象,控制台将其显示为{}
。
results.length
为null
。 假设您正在使用的url
是您想要获得的,这将为您提供预期的结果:
function CartolaPrazo() {
var url = 'https://api.cartolafc.globo.com/mercado/status';
var response = UrlFetchApp.fetch(url);
var results = JSON.parse(response.getContentText());
var table = [['dia','mês','ano','hora','minuto']];
var dia = results.fechamento.dia;
var mes = results.fechamento.mes;
var ano = results.fechamento.ano;
var hora = results.fechamento.hora;
var minuto = results.fechamento.minuto;
table.push([dia,mes,ano,hora,minuto]);
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(1, 22, table.length, table[0].length).setValues(table);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.