api - 将binance api数据导入谷歌表格
问题描述
我只是一个新手,试图将原始 binance api 数据导入谷歌表格。我尝试使用混合分析 API 连接器,但结果通常是“错误完成”。支持团队的建议根本没有帮助,最终结果仍然相同,因此数据与之前一周前的数据仍然相同。您可以在下面的链接中看到原始的 binance api 数据。
https://api.binance.com/api/v3/ticker/24hr
所以我认为,解决这个问题的唯一方法是将其编码为谷歌脚本。我将非常感谢我能得到的任何帮助。任何示例代码 gs 代码都会非常有帮助。非常感谢...
解决方案
这是一个解决方案。如果需要,在函数 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
推荐阅读
- c# - .Net Core IsAuthenticated false 即使我手动使用 HttpContext.SignInAsync
- python - 创建具有重复天数的倒计时变量
- swift - 看似相同的 if let 块之间的行为不一致
- android - Instabug 的任何修复都会捕获 Flutter 应用程序的空白屏幕和视频(android 构建)
- kotlin - 带有协程的异步 http 调用(使用像 Feign 这样的 http 客户端)
- sql - HSQLDB: INSERT INTO ... (SELECT NULL, * FROM) 导致“列名重复”
- python-3.x - 比较来自具有不同扩展名的单独文件夹中的两个不同文件并使用 pywinauto 打开一个
- app-store - App Store:二进制拒绝;缺少模拟账户信息
- javascript - 在 Vuejs 中按名称获取特定的父组件
- dialogflow-es - Dialogflow 中实体同义词的新限制