Просто используя forecast
ничего не собирается делать. Вы должны использовать puts
как минимум:
puts forecast
Или увидеть, если объект довольно-принтер в Ruby может вернуть что-то более интересное:
require 'pp'
pp forecast
копания в дальнейшем, я думаю, что их API Безразлично Не работай. На основе их примеров, используя действительный ключ и их образцы местоположения, а также местоположения со своего исходного сайта Forecast.io, также возвращает нуль.
Использование интерфейса REST непосредственно с сайта Forecast.io возвращает JSON. JSON очень прост в работе с Ruby, так что это хороший путь.
Вот код для тестирования API и REST интерфейс Forecast.io в:
API_KEY = 'xxxxxxxxxxxxxxxxxxx'
LOCATION = %w[37.8267 -122.423]
require 'darksky'
darksky = Darksky::API.new(API_KEY)
forecast = darksky.forecast(*LOCATION)
forecast # => nil
brief_forecast = darksky.brief_forecast(*LOCATION)
brief_forecast # => nil
require 'json'
require 'httparty'
URL = "https://api.forecast.io/forecast/#{ API_KEY }/37.8267,-122.423"
puts URL
# >> https://api.forecast.io/forecast/xxxxxxxxxxxxxxxxxxx/37.8267,-122.423
puts HTTParty.get(URL).body[0, 80]
# >> {"latitude":37.8267,"longitude":-122.423,"timezone":"America/Los_Angeles","offse
Обратите внимание, что LOCATION
в обоих случаях 37.8267,-122.423
, что Alcatraz по данным сайта Forecast.io. Также обратите внимание, что вывод body
представляет собой строку JSON.
Pass возвращаемый JSON к Руби JSON класса, как:
JSON[returned_json]
, чтобы он разобран обратно в Руби Hash. Используя OpenURI (потому что он поставляется с Ruby) вместо HTTParty, а передача его в JSON для синтаксического анализа выглядит так:
body = open(URL).read
puts JSON[body]
Вы зарегистрировались и получили свой ключ API? – shiva
Да. Даже когда вводится ключ API, он просто не возвращает никаких данных. Также установлен Gem. –
Что вы проверили? Ваш код выглядит нормально. Работает ли ваш ключ API и создает действительный объект «darksky»? Вы знаете, есть ли у них глобальное покрытие погодой, так как вы просите Китай? А если вы попробуете что-то вроде darkky.interesting? – HM1