Почему я получаю 401 при попытке подключиться к внешнему API в моем приложении Rails? - PullRequest
1 голос
/ 19 мая 2019

Я пытаюсь позвонить в API Open Weather Map, используя gem с тем же именем.Я пытаюсь получить текущий прогноз в городе.Я посмотрел на их FAQ, но не могу разобраться.Когда я пытаюсь загрузить http://localhost:3000/forecasts/berlin_weather, возвращается: Berlin forecast: {"cod"=>401, "message"=>"Invalid API key. Please see http://openweathermap.org/faq#error401 for more info."} Что говорит о подключении, но не уверен, почему я не получаю ожидаемый ответ.Вот мой код

Ответы [ 2 ]

0 голосов
/ 20 мая 2019
require 'open_weather'

# get current weather by city name
OpenWeather::Current.city("Cochin, IN", options)

Вам также необходимо указать код страны. Пример кода взят со страницы github open_weather ruby ​​wrapper.

Редактировать

https://openweathermap.org/data/2.5/forecast/daily/?appid=b6907d289e10d714blah&id=1298824&units=metric

Я считаю, что ключ api, отправленный на вашу почту при регистрации, был неверным. Вы должны проверить сетевой вызов на openweathermap.org, чтобы получить настоящий ключ API

enter image description here

0 голосов
/ 19 мая 2019

Прежде чем сделать запрос к API, вам необходимо зарегистрироваться и получить от них API KEY! Следуйте инструкциям здесь! https://openweathermap.org/appid

Тогда, когда вам предоставят ключ, вы можете использовать этот ключ в своем запросе!

def initialize(city, appid = "API KEY WHAT THEY WILL GIVE YOU", units="metric")
    @options = { city: city, units: units, APPID: appid }      
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...