问题描述
我只是一个尝试将原始 binance api 数据导入 Google 表格的新手。我尝试使用混合分析 API 连接器,但结果通常是“完成时出现错误”。支持团队的建议根本没有帮助,最终结果仍然相同,因此数据仍然与之前一周的数据相同。 您可以在下面的链接中查看原始币安 API 数据。
https://api.binance.com/api/v3/ticker/24hr
所以我认为,解决这个问题的唯一方法是将其编码为谷歌脚本。 我将不胜感激我能得到的任何帮助。 任何示例代码 gs 代码都会非常有帮助。 非常感谢...
解决方法
这是一个解决方案。如果需要,在函数 horodataage 上放置一个触发器(即每天)
// 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