Скрипт приложения Google выдает неожиданный токен e в JSON в позиции 0, но только иногда

#javascript #json #google-apps-script #urlfetch

Вопрос:

В одном ответе на запрос post говорится, что необходимо упорядочить полезную нагрузку JSON, но я отправляю запрос get

 var list= [ "bitcoin","ethereum","litecoin","dogecoin","stellar","cardano","tezos","0x","uniswap"]
var url = "https://api.coingecko.com/api/v3/simple/price?ids=" list.join(",") "amp;vs_currencies=usd"
var headers={ "accept": "application/json", "muteHttpExceptions":true} 
var response = JSON.parse(UrlFetchApp.fetch(url,headers));
Logger.log(response)

 

Ошибка возникает в строке 4.

Я подумал , может быть, мне следует упорядочить заголовки, что я и сделал JSON.parse(UrlFetchApp.fetch(url, JSON.stringify(headers))) , но Bad Value в этой же строке возникло исключение

Проблема в том, что исходный код в большинстве случаев работает нормально, но иногда возникает такое исключение

Комментарии:

1. Вы должны каким-то образом регистрировать запросы и проверять те, которые не работают, возможно, служба периодически нарушается или существует какой-то лимит запросов.

Ответ №1:

Это связано с тем, что у вас есть объект ответа, а не строковые данные..

 var response = JSON.parse(UrlFetchApp.fetch(url,headers));

//to:

var response = UrlFetchApp.fetch(url,headers);
var data = JSON.parse(response.getContentText());