Хорошо, у меня возникли проблемы с пониманием того, как использовать API открытой погоды.
Я пытался использовать его как
<?php
$request = file_get_contents('http://api.openweathermap.org/data/2.5/forecast/city?id=myidblablabla'); //example ID
$jsonPHP = json_decode($request);
echo $jsonPHP->city;
?>
Но я получаю сообщение об ошибке
Исправляемая фатальная ошибка: объект класса stdClass не может быть преобразован
вписать
Теперь есть еще 1 вопрос, который я должен задать, как я могу узнать температуру в городе, влажность и т. Д.? Из кода, который я получил, я получаю только Москву
Чтобы упростить его, вы также можете вместо этого преобразовать json в массив.
$jsonPHP = json_decode($request,true);
Теперь давайте кратко обсудим это. Согласно документации (http://openweathermap.org/current),
Обратите внимание, что Я никогда не использовал этот API раньше. Я просто пытаюсь помочь здесь.
Если вы нажмете api.openweathermap.org/data/2.5/weather?lat=35&долгота = 139
Это отвечает как
{"coord":{"lon":139,"lat":35},
"sys":{"country":"JP","sunrise":1369769524,"sunset":1369821049},
"weather":[{"id":804,"main":"clouds","description":"overcast clouds","icon":"04n"}],
"main":{"temp":289.5,"humidity":89,"pressure":1013,"temp_min":287.04,"temp_max":292.04},
"wind":{"speed":7.31,"deg":187.002},
"rain":{"3h":0},
"clouds":{"all":92},
"dt":1369824698,
"id":1851632,
"name":"Shuzenji",
"cod":200}
Теперь, если вы хотите взять Погода а также влажность , это просто :
Погода :
echo $jsonPHP["weather"][0]["id"];
влажность:
echo $jsonPHP["main"]["humidity"];
Обратите внимание, что, если вы нажмете http://api.openweathermap.org/data/2.5/weather?lat=35&долгота = 139 и получить ответы как
{"cod":401, "message": "Invalid API key. Please see http://openweathermap.org/faq#error401 for more info."}
Для случая, они объяснили здесь:
http://openweathermap.org/faq#error401 который :
Q: вызовы API возвращают ошибку 401
A: Начиная с 9 октября 2015 года наш
API требует действительный APPID для доступа. Обратите внимание, что это не значит,
что наш API только для подписки — пожалуйста, найдите минутку, чтобы
зарегистрировать бесплатный аккаунт для получения ключа.Приносим извинения за неудобства, но это необходимая мера,
поможет нам быстрее и надежнее предоставить вам наши услуги.Для разработчиков FOSS: мы приветствуем бесплатное программное обеспечение с открытым исходным кодом и
готов помочь вам. Если вы хотите использовать данные OWM в вашем бесплатном программном обеспечении
приложение, пожалуйста, зарегистрируйте ключ API и подайте заявку, описывающую
Ваше приложение и ключ API зарегистрированы. OWM рассмотрит ваш запрос
снять ограничения доступа для вашего ключа, если используется в приложении с открытым исходным кодом.
Других решений пока нет …