首页 > 解决方案 > 将binance api数据导入谷歌表格

问题描述

我只是一个新手,试图将原始 binance api 数据导入谷歌表格。我尝试使用混合分析 API 连接器,但结果通常是“错误完成”。支持团队的建议根本没有帮助,最终结果仍然相同,因此数据与之前一周前的数据仍然相同。您可以在下面的链接中看到原始的 binance api 数据。

https://api.binance.com/api/v3/ticker/24hr

所以我认为,解决这个问题的唯一方法是将其编码为谷歌脚本。我将非常感谢我能得到的任何帮助。任何示例代码 gs 代码都会非常有帮助。非常感谢...

标签: apigoogle-apps-scriptgoogle-sheetsbinancegoogle-code

解决方案


这是一个解决方案。如果需要,在函数 horodatage 上放置一个触发器(即每天)

// Mike Steelson

let resultat = [];

// mettre déclencheur horaire sur cette fonction
// define a trigger here
function horodatage(){
  var f = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data')
  f.getRange('A1').setValue(!f.getRange('A1').getValue())
  f.getRange('B1').setValue(new Date())
}

function getDataJSON(url,xpath){
  try{
    if (url.match(/http(s)?:\/\/?/g)){var data = JSON.parse(UrlFetchApp.fetch(url).getContentText())}
    else{var data = JSON.parse(url)}
    var json = eval('data')
    if (typeof xpath == 'object'){var liste = xpath.join().split(",")} else {var liste = xpath.split("|")}
    if (json.length){json.forEach(function(elem){getData(elem,liste)})} else {getData(json,liste)}
    return resultat
  }
  catch(e) {
    return ('Pas de résultat - vérifier l\'url et les paramètres !');
  }
}
function getData(elem,liste){
  var prov=[]
  liste.forEach(function(chemin){
    var t=chemin.split('/');
    var obj=elem;
    for (var i=1;i<t.length;i++){obj=obj.item(t[i])}
    if(typeof obj=='object'){prov.push('['+obj+']')}else{prov.push(obj)}
  })
  resultat.push(prov)
}
Object.prototype.item=function(i){return this[i]};

您可以复制此电子表格https://docs.google.com/spreadsheets/d/1DN0Gfim0LC098zVgrUpt2crPWUn4pWfZnCpuuL1ZiMs/copy


推荐阅读