импортировать данные API binance в таблицу Google

Я просто новичок, пытающийся импортировать необработанные данные API binance в таблицу Google. Я пробовал использовать Mixed Analytics API Connector, но результат обычно заканчивается ошибками. И предложения службы поддержки совсем не помогли, так как конечный результат остался прежним, и поэтому данные остались такими же, как и предыдущие данные, которым уже неделя. Вы можете увидеть необработанные данные API binance по ссылке ниже.

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

И поэтому я думаю, что единственный способ решить эту проблему - это закодировать ее как скрипт Google. Буду очень признателен за любую помощь, которую я могу получить. Любой пример кода gs-кода был бы очень полезен. Большое Вам спасибо...


person Raquel    schedule 29.04.2021    source источник
comment
К сожалению, из вашего вопроса я не могу представить ожидаемый результат. Прошу прощения за плохое знание английского языка. Чтобы правильно понять ваш вопрос, можете ли вы предоставить пример выходной ситуации в виде изображения?   -  person Tanaike    schedule 29.04.2021
comment
привет @Tanaike! Спасибо, что разобрались с этой проблемой. я хочу, чтобы все данные, полученные по указанной выше ссылке, отображались на листе Google. Надеюсь, это даст вам некоторое разъяснение. Спасибо   -  person Raquel    schedule 29.04.2021


Ответы (1)


Вот решение. При необходимости установите триггер на функцию 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

person Mike Steelson    schedule 29.04.2021
comment
Привет, @Mike Steelson! Спасибо, что уделили немного времени решению одной из моих текущих проблем. И спасибо за образец кода и копию вашей таблицы Google. Когда я пытался использовать ваш образец листа Google, есть много данных, которые не были переданы в лист, исходя из данных из ссылки: api.binance.com/api/v3/ticker/24hr - person Raquel; 29.04.2021
comment
Я пытался получить все необработанные данные по указанной выше ссылке и вставить их в один из моих листов Google. - person Raquel; 29.04.2021
comment
Недавно я использовал надстройки от Mixed Analytics, которые представляют собой коннектор API, которые приводят к следующим данным, показанным по ссылке ниже. - person Raquel; 29.04.2021
comment
docs.google.com/spreads - person Raquel; 29.04.2021
comment
Все необработанные данные api binance были экспортированы на этот лист, просто нажав кнопку меню в разделе API Connector, Refresh All Request. - person Raquel; 29.04.2021
comment
Но в последнее время он постоянно не обновляет данные всякий раз, когда я нажимаю ту же кнопку меню. Итак, это последний недавно обновленный лист, который уже устарел. - person Raquel; 29.04.2021
comment
Надеюсь, это проясняет то, что я пытаюсь сделать .. Спасибо - person Raquel; 29.04.2021
comment
Ракель, все, что тебе нужно, находится внутри «паспорта». Лист «Портфолио» - это просто выписка для некоторых пар, его можно забыть (и стереть). Я ставлю флажок в A1, чтобы формула в A3 была активирована. - person Mike Steelson; 29.04.2021
comment
Все, что вам нужно, это docsheets.google.com /? - person Mike Steelson; 29.04.2021