使用openweathermap api 报错401 如何使用openweathermap api 接口

使用openweathermap api 报错401

错误信息如下:
{"cod":401,"message":"Invalid API key. Please see http://openweathermap.org/faq#error401 for more info."}

根据提示查阅http://openweathermap.org/faq#error401

官网信息显示说在2015.9月以后需要APPID才能访问。所以需要注册后取得APPID才能使用API。注册用户后可以看到自己的APPID:

解决方法

GET请求添加以下参数:APPID = APIKEY例子:api.openweathermap.org/data/2.5/forecast/city?APPID = YOURAPIKEY &你想请求的参数。

<?php

    $request = 'http://api.openweathermap.org/data/2.5/forecast/city?APPID=***YOURAPIKEY***';
    $response  = file_get_contents($request);
    $jsonobj  = json_decode($response);
    print_r($jsonobj);
?>

参考资料:
http://www.4byte.cn/question/2431727/how-to-use-openweathermap-api-key.html
http://openweathermap.org/appid
[1] : 在baidu找了很久都没找到解决办法,后来在google一搜就找到解决方法了

openweathermap api 如何使用

了解更多查看官方文档http://openweather.org/API

UnauthorizedError Traceback (most recent call last) Cell In[162], line 11 9 # 获取上个月的天气情况 10 mgr = owm.weather_manager() ---> 11 observation = mgr.weather_at_place('上海') # 这里以北京为例 12 date_obj = datetime.datetime(last_month.year, last_month.month, 1) 13 one_call = mgr.one_call(lat=observation.weather.location.lat, lon=observation.weather.location.lon, dt=date_obj.timestamp(), exclude='current,minutely,hourly,alerts') File ~/opt/anaconda3/lib/python3.9/site-packages/pyowm/weatherapi25/weather_manager.py:53, in WeatherManager.weather_at_place(self, name) 51 assert isinstance(name, str), "Value must be a string" 52 params = {'q': name} ---> 53 _, json_data = self.http_client.get_json(OBSERVATION_URI, params=params) 54 return observation.Observation.from_dict(json_data) File ~/opt/anaconda3/lib/python3.9/site-packages/pyowm/commons/http_client.py:158, in HttpClient.get_json(self, path, params, headers) 156 except requests.exceptions.Timeout: 157 raise exceptions.TimeoutError('API call timeouted') --> 158 HttpClient.check_status_code(resp.status_code, resp.text) 159 try: 160 return resp.status_code, resp.json() File ~/opt/anaconda3/lib/python3.9/site-packages/pyowm/commons/http_client.py:313, in HttpClient.check_status_code(cls, status_code, payload) 311 raise exceptions.APIRequestError(payload) 312 elif status_code == 401: --> 313 raise exceptions.UnauthorizedError('Invalid API Key provided') 314 elif status_code == 404: 315 raise exceptions.NotFoundError('Unable to find the resource')解释下是什么原因的报错
06-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值