Quero adicionar um widget de clima ao meu aplicativo react, estou tentando usar a biblioteca React-Open-Weather. Mas a função que busca os dados useOpenWeather()
sempre responde com um 401
, confirmei que minha chave de API é válida colocando-a na URL fornecida na documentação de react-open-weather. Mas eu não sei o que está errado `
Erro: GET http://api.openweathermap.org/data/2.5/onecall?appid={apikey}&lang=en&units=metric&lat=48.137154&lon=11.576124 401 (não autorizado)
meu código
import React from 'react'
import ReactWeather, { useOpenWeather } from 'react-open-weather';
const Weather = (props) => {
const { data, isLoading, errorMessage } = useOpenWeather({
key: 'myapikey',
lat: '48.137154',
lon: '11.576124',
lang: 'en',
unit: 'metric', // values are (metric, standard, imperial)
});
return (
<div>
<ReactWeather
isLoading={isLoading}
errorMessage={errorMessage}
data={data}
lang="en"
locationLabel="Munich"
unitsLabels={{ temperature: 'C', windSpeed: 'Km/h' }}
showForecast
/>
</div>
)
}
export default Weather
Eu tentei reinstalar a lib React-Open-Weather, mas isso não resolve o problema
A URL que usei para confirmar minha chave de API: http://api.openweathermap.org/data/2.5/forecast?id=524901&appid={apikey}
De acordo com https://openweathermap.org/api/one-call-api ,
onecall
retorna todas as funções possíveis:Alguns dos recursos, como previsão, não são permitidos para contas gratuitas. Ao executar
weather
em vez deonecall
, você obtém apenas o clima atual:e com seus parâmetros, exibe os dados corretamente.