Получите данные переменных Json из Coinmarketcap API - PullRequest
0 голосов
/ 04 июня 2019

Я настраиваю скрипт google sheet для получения цен на монеты из API coinmarketcap. С Json я могу получить цену монеты, но при изменении URL монеты скрипт выдает ошибку.

function getCryptoPrice(coin) {

  var url="https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest?symbol=" + coin;

  var requestOptions = {
  method: 'GET',
  uri: 'https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest',
  qs: {
    start: 1,
    limit: 5000,
    convert: 'USD'
  },
  headers: {
    'X-CMC_PRO_API_KEY': 'MY-API-KEY'
  },
  json: true,
  gzip: true
};

  var httpRequest= UrlFetchApp.fetch(url, requestOptions);
  var getContext= httpRequest.getContentText();

  var parseData=JSON.parse(getContext);

  return parseData.data.GVT.quote.USD.price;
}

Когда «coin» меняет URL, тоже меняется, но «return parseData.data.GVT"...» по-прежнему получает тот же символ монеты «GVT». Как я могу редактировать

return parseData.data.GVT.quote.USD.price

чтобы узнать цену монеты при смене символа GVT?

Текст анализа Json:

{data={GVT={symbol=GVT, circulating_supply=4426883.31189056, last_updated=2019-06-04T14:49:03.000Z, total_supply=4436643.92853333, cmc_rank=260, platform={symbol=ETH, name=Ethereum, token_address=0x103c3a209da59d3e7c4a89307e66521e081cfdf0, id=1027, slug=ethereum}, tags=[], date_added=2017-11-15T00:00:00.000Z, quote={USD={percent_change_1h=-0.00743386, last_updated=2019-06-04T14:49:03.000Z, percent_change_24h=-4.46141, market_cap=1.494379345295687E7, price=3.37569174521, volume_24h=1445068.31606641, percent_change_7d=-3.74407}}, num_market_pairs=17, name=Genesis Vision, max_supply=null, id=2181, slug=genesis-vision}}, status={error_message=null, elapsed=45, credit_count=1, error_code=0, timestamp=2019-06-04T14:49:56.313Z}}

1 Ответ

0 голосов
/ 04 июня 2019

Используйте скобочные обозначения для доступа к данным:

parseData.data[coin].quote.USD.price;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...