API 不会 return 数据(Google 表格/应用程序脚本)
API won't return data (Google Sheets / App Script)
我认为问题出在 var 的 的定义中,用于创建 table.push
,以及正确的数据路径定义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 对象,控制台显示为 {}
.
- 您没有一组 json 个对象,只有一个 json 个对象。
因此,代码中的循环是不必要的,但也是错误的,因为
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);
}
我认为问题出在 var 的 的定义中,用于创建 table.push
,以及正确的数据路径定义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 对象,控制台显示为 {}
.
- 您没有一组 json 个对象,只有一个 json 个对象。
因此,代码中的循环是不必要的,但也是错误的,因为
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);
}