我想将天气小部件添加到我的反应应用程序中,我正在尝试使用 React-Open-Weather lib。但是获取数据的函数useOpenWeather()
总是以 响应401
,我通过将其放入react-open-weather 文档中给出的 URL 中来确认我的 api-key 是有效的。但我不知道出了什么问题`
错误:GET http://api.openweathermap.org/data/2.5/onecall?appid={apikey}&lang=en&units=metric&lat=48.137154&lon=11.576124 401(未经授权)
我的代码
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
我尝试重新安装 React-Open-Weather 库,但这并不能解决问题
我用来确认 api 密钥的 URL:http://api.openweathermap.org/data/2.5/forecast?id=524901&appid={apikey}
根据https://openweathermap.org/api/one-call-api,
onecall
返回所有可能的函数:免费帐户不允许使用某些功能,例如预测。通过运行
weather
而不是onecall
,您只能获取当前天气:并根据您的参数,它会正确显示数据。