我设法使用这个代码脚本从https://api.hitbtc.com/api/2/public/ticker获取数据到Google电子表格。
function ticker(){
var rows=[],obj_array=null;
try {obj_array=JSON.parse(UrlFetchApp.fetch("https://api.hitbtc.com/api/2/public/ticker").getContentText());} catch (e) {obj_array=null;}
if (obj_array!=null){
for (r in obj_array) {rows.push([obj_array[r].symbol,parseFloat(obj_array[r].last),parseFloat(obj_array[r].volume),parseFloat(obj_array[r].ask),parseFloat(obj_array[r].bid)]);}
var ss=SpreadsheetApp.getActiveSpreadsheet(),sheet=ss.getSheetByName('Hitbtc');ss.getRange("Hitbtc!A1").setValue(new Date());
try {var range=sheet.getRange(2,1,sheet.getLastRow(),6).clearContent();} catch(e) {Logger.log("error");}
if (rows==null||rows=="") {Browser.msgBox("Oops, no data"); return false;}
range=sheet.getRange(2,1,rows.length,5); range.setValues(rows);
}
}然后我尝试了另一个来自https://api.kucoin.com/api/v1/market/allTickers的API,我无法获得data.Always显示#NUM!有人能帮我吗?
function kuticker(){
var rows=[],obj_array=null;
try {obj_array=JSON.parse(UrlFetchApp.fetch("https://api.kucoin.com/api/v1/market/allTickers").getContentText());} catch (e) {obj_array=null;}
if (obj_array!=null){
for (r in obj_array) {rows.push([obj_array[r].symbol,parseFloat(obj_array[r].last),parseFloat(obj_array[r].vol),parseFloat(obj_array[r].buy),parseFloat(obj_array[r].sell)]);}
var ss=SpreadsheetApp.getActiveSpreadsheet(),sheet=ss.getSheetByName('Kucoin');ss.getRange("Kucoin!A1").setValue(new Date());
try {var range=sheet.getRange(2,1,sheet.getLastRow(),6).clearContent();} catch(e) {Logger.log("error");}
if (rows==null||rows=="") {Browser.msgBox("Oops, no data"); return false;}
range=sheet.getRange(2,1,rows.length,5); range.setValues(rows);
}
}在这里,文件https://docs.google.com/spreadsheets/d/17lDKTVgqw99zqXYtuWHT3FgH7ahyyIqgGxgd4wld8cw/edit?usp=sharing
谢谢
发布于 2020-05-31 21:53:35
这个答案怎么样?
修改要点:
https://api.hitbtc.com/api/2/public/ticker检索的对象与从https://api.kucoin.com/api/v1/market/allTickers检索的对象之间的结构不同。在前者,数据数组可以直接来自obj_array.obj_array.data.ticker.中。
当这反映到您的脚本,请修改您的kuticker()功能如下。
修改脚本:
发自:
obj_array=JSON.parse(UrlFetchApp.fetch("https://api.kucoin.com/api/v1/market/allTickers").getContentText());至:
obj_array = JSON.parse(UrlFetchApp.fetch("https://api.kucoin.com/api/v1/market/allTickers").getContentText()).data.ticker;结果:
当运行上述修改的脚本时,可以获得以下结果。

https://stackoverflow.com/questions/62113716
复制相似问题