sxiii

AutoParsing Cryptocurrency Rates to Google Drive Spreadsheet

May 18th, 2017
603
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function myFunction() {
  2.  
  3. var range = [4, 5, 7, 8, 10];        // С какими полями работаем
  4. var source = "H";                    // Из какой колонки берем значения
  5. var target = "I";                    // В какую колонку пишем значения
  6. var historical = "J";                // Куда пишем исторические значения
  7. var historicaltime = "2592000";      // Сколько секунд назад значения интересуют (60*60*24*30, т.е. за месяц)
  8. var currentunixtime = Date.now();
  9.  
  10. var monthago = currentunixtime - historicaltime      // Рассчет времени месяц назад
  11. var base = "BTC"                                     // Базовая валюта
  12.  
  13. //var url = 'https://www.poloniex.com/public?command=returnTicker'
  14.  
  15. var ss = SpreadsheetApp.getActiveSpreadsheet();      // Выбираем активную таблицу
  16. var sheet = ss.getSheetByName("Биржа");              // Выбираем нужную страницу
  17.  
  18. var index;
  19. for (index = 0; index < range.length; ++index) {
  20.  
  21. var currency = sheet.getRange(source+range[index]).getValue();    // Берём название валюты из таблицы
  22.  
  23. var url = 'https://min-api.cryptocompare.com/data/price?fsym='+base+'&tsyms='+currency;   // Загружаем URL
  24. var response = UrlFetchApp.fetch(url, {'muteHttpExceptions': true});                      // Получаем ответ
  25. var json = response.getContentText();                                                     // Обрабатываем ответ
  26. var data = JSON.parse(json);                                                              // Парсим json
  27. var buf = 'data.'+currency                                                                // Формируем переменную по которой парсить результаты
  28. SpreadsheetApp.getActiveSheet().getRange(target+range[index]).setValue(eval(buf));        // Пишем в ячейку распарсенный результат (eval(buf))
  29.  
  30. //Utilities.sleep(1000);
  31.  
  32. url = 'https://min-api.cryptocompare.com/data/pricehistorical?fsym='+base+'&tsyms='+currency+'&ts='+monthago
  33. response = UrlFetchApp.fetch(url, {'muteHttpExceptions': true});
  34. json = response.getContentText();
  35. data = JSON.parse(json);
  36. buf = 'data.'+base+'.'+currency
  37. //eval(buf);
  38. SpreadsheetApp.getActiveSheet().getRange(historical+range[index]).setValue(eval(buf));
  39.  
  40. //Utilities.sleep(1000);
  41.  
  42. }
  43. }
Add Comment
Please, Sign In to add comment