Задать вопрос
@chelnokov_a

Как правильно обращаться с закрытым (ограниченным) API?

Привет, всем. Заранее изменяюсь за возможно глупый вопрос.

У меня возникли проблемы при получении инфы при помощи AJAX. Пробовал и XHR и Promise. В целом все получается, информацию с сервера получаю.

Но вот столкнулся с проблемой получения погоды с openweathermap. Все, как я думаю упирается в токин и инфу с сервера я получить не могу. Как я понял мне надо подставить его просто в адрес ссылки (см. пример 1). Но чтобы я не делал упераюсь в ошибку (см. пример 2)

Пример 1:
5ddc4590ad6bb032068760.png

Пример 2:
5ddc45830c23a343194987.png

Подскажите где я дурак?
  • Вопрос задан
  • 90 просмотров
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 3
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
https://learn.javascript.ru/ajax-jsonp

Call back function for JavaScript code
Description:
To use JavaScript code you can transfer callback functionName to JSONP callback.
Examples of API calls:
api.openweathermap.org/data/2.5/weather?q=London,uk&callback=test

Или вызывайте со своего сервера серверными методами
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Ответ написан
Комментировать
@Dasslier
FrontEnd Developer
Самый простой способ - купите себе хостинг, используйте любой домен и в папке этого домена сделайте запрос к api, а результат выведите по имени файла. Например используйте get_file_contents (по-моему так) в PHP. Сделаете файл weather.php в нем делаете запрос этой функцией и выводите через echo инфу. Затем на своем сервере настраиваете заголовки, которые будут разрешать кросс-доменные запросы и в самих заголовках запроса тоже указываете это, и вуаля - все будет работать. Возможно еще придется поставить расширение для Google Chrome для CORS.

Второй способ - сделайте проксю к этому сайту, а потом копируйте токен сессии и его замените вместо своего токена
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы