JSON в Google таблицах: Исключение: Атрибут, не имеющий значения: url

#json #google-sheets #google-sheets-formula #google-sheets-api

#json #google-листы #google-таблицы-формула #google-таблицы-api

Вопрос:

Я пытаюсь импортировать криптографические данные в Google Таблицы. В сценарии приложений возникает следующая ошибка:

 Exception: Attribute provided with no value: url ImportJSONAdvanced @ ImportJSON.gs:168 ImportJSON @ ImportJSON.gs:63  

Также, когда я пытаюсь отобразить данные на листе с помощью этой формулы:

=Импорт json(«https://api.coingecko.com/api/v3/coins/markets?vs_currency=euramp;ids=bitcoin»)

я получаю ошибку «#ИМЯ?»

Кто-нибудь может мне в этом помочь?

Вот 2 фрагмента, которые вызывают ошибки:

 function ImportJSONAdvanced(url, fetchOptions, query, parseOptions, includeFunc, transformFunc) { var jsondata = UrlFetchApp.fetch(url, fetchOptions); *lt;--- ERROR OCCOURS HERE var muteHttpExceptions = true; var object = JSON.parse(jsondata.getContentText()); return parseJSONObject_(object, query, parseOptions, includeFunc, transformFunc); }  
 function ImportJSON(url, query, parseOptions) {  return ImportJSONAdvanced(url, null, query, parseOptions, includeXPath_, defaultTransform_); // *lt;--- ERROR OCCOURS HERE }  

Ответ №1:

api.coingecko имеет некоторые ограничения. Попробуйте это

 function getStatusCode(url = 'https://api.coingecko.com/api/v3/coins/markets?vs_currency=euramp;ids=bitcoin'){  var options = {  'muteHttpExceptions': true,  'followRedirects': false  };  var url_trimmed = url.trim();  var response = UrlFetchApp.fetch(url_trimmed, options);  Logger.log (response.getResponseCode()); }  

если вы получаете код 429, это означает, что вы отправили слишком много запросов.