首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从我的Google电子表格上的API中获取数据

问无法从我的Google电子表格上的API中获取数据
EN

Stack Overflow用户
提问于 2020-05-31 08:49:01
回答 1查看 290关注 0票数 1

我设法使用这个代码脚本从https://api.hitbtc.com/api/2/public/ticker获取数据到Google电子表格。

代码语言:javascript
复制
    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!有人能帮我吗?

代码语言:javascript
复制
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

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-31 21:53:35

这个答案怎么样?

修改要点:

  • 我认为问题的原因在于从https://api.hitbtc.com/api/2/public/ticker检索的对象与从https://api.kucoin.com/api/v1/market/allTickers检索的对象之间的结构不同。在前者,数据数组可以直接来自obj_array.
  • At,后者,数据数组包含在obj_array.data.ticker.

中。

​

当这反映到您的脚本,请修改您的kuticker()功能如下。

修改脚本:

发自:

代码语言:javascript
复制
obj_array=JSON.parse(UrlFetchApp.fetch("https://api.kucoin.com/api/v1/market/allTickers").getContentText());

至:

代码语言:javascript
复制
obj_array = JSON.parse(UrlFetchApp.fetch("https://api.kucoin.com/api/v1/market/allTickers").getContentText()).data.ticker;

结果:

当运行上述修改的脚本时,可以获得以下结果。

​

​

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62113716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档