sxiii icon

AutoParsing Cryptocurrency Rates to Google Drive Spreadsheet

sxiii | PRO | 05/18/17 02:09:51 PM UTC | 0 ⭐ | 869 👁️ | Never ⏰ | []
JavaScript |

2.54 KB

|

None

|

0 👍

/

0 👎

function myFunction() {
 
var range = [4, 5, 7, 8, 10];        // С какими полями работаем
var source = "H";                    // Из какой колонки берем значения
var target = "I";                    // В какую колонку пишем значения
var historical = "J";                // Куда пишем исторические значения
var historicaltime = "2592000";      // Сколько секунд назад значения интересуют (60*60*24*30, т.е. за месяц)
var currentunixtime = Date.now();
  
var monthago = currentunixtime - historicaltime      // Рассчет времени месяц назад
var base = "BTC"                                     // Базовая валюта
  
//var url = 'https://www.poloniex.com/public?command=returnTicker'
  
var ss = SpreadsheetApp.getActiveSpreadsheet();      // Выбираем активную таблицу
var sheet = ss.getSheetByName("Биржа");              // Выбираем нужную страницу
 
var index;
for (index = 0; index < range.length; ++index) {
  
var currency = sheet.getRange(source+range[index]).getValue();    // Берём название валюты из таблицы
  
var url = 'https://min-api.cryptocompare.com/data/price?fsym='+base+'&tsyms='+currency;   // Загружаем URL
var response = UrlFetchApp.fetch(url, {'muteHttpExceptions': true});                      // Получаем ответ
var json = response.getContentText();                                                     // Обрабатываем ответ
var data = JSON.parse(json);                                                              // Парсим json
var buf = 'data.'+currency                                                                // Формируем переменную по которой парсить результаты
SpreadsheetApp.getActiveSheet().getRange(target+range[index]).setValue(eval(buf));        // Пишем в ячейку распарсенный результат (eval(buf))
 
//Utilities.sleep(1000); 
 
url = 'https://min-api.cryptocompare.com/data/pricehistorical?fsym='+base+'&tsyms='+currency+'&ts='+monthago
response = UrlFetchApp.fetch(url, {'muteHttpExceptions': true});
json = response.getContentText();
data = JSON.parse(json);
buf = 'data.'+base+'.'+currency
//eval(buf);
SpreadsheetApp.getActiveSheet().getRange(historical+range[index]).setValue(eval(buf));
  
//Utilities.sleep(1000); 
 
}
}

Comments