У меня нет проблем с печатью jsonDecoded данных о погоде, когда я заменяю APIkey и долготу и широту в запросе http текущей погоды. но я как-то получаю ошибку {cod: 401, message: Invalid API key.}, используя их для получения часовых и 16-дневных данных о погоде с теми же lon & lat и APIkey. вот мой код:
Future<dynamic> getHourlyWeather() async { Location location = Location(); await location.getCurrentLocation(); http.Response response = await http.get( 'https://pro.openweathermap.org/data/2.5/forecast/hourly?lat=${location.latitude}&lon=${location.longitude}&appid=$APIkey'); if (response.statusCode == 200) { String data = response.body; return jsonDecode(data); } else { print(response.statusCode); } } Future<dynamic> get16DaysWeather() async { Location location = Location(); await location.getCurrentLocation(); http.Response response = await http.get( 'https://api.openweathermap.org/data/2.5/forecast/daily?lat=${location.latitude}&lon=${location.longitude}&cnt=10&appid=$APIkey'); if (response.statusCode == 200) { String data = response.body; return jsonDecode(data); } else { print(response.statusCode); } }
void initState() { gethourly(); super.initState(); } void gethourly() async { var hourly = await weather.getHourlyWeather(); print(hourly); }
Я понял, что для получения почасовых и суточных погодных данных из openweathermap требуется платная подписка.