

pythonでopenweathermapから天気予報を取るプログラムの勉強をしています。ですが401エラーがでてしまい先に進むことができません。401エラーは「許可されていない」との情報をインターネットで見たのですが、サイトへのログインはしています。

ログインしているのに「許可されてない」となる理由がわからないのですが、なぜ「許可されていない」エラーになるのか、わかる方がいましたら回答いただけないでしょうか？

[code]

    import json, requests, pprint
    APPID = '-'#APIキーの定義
    url = 'http://api.openweathermap.org/data/2.5/forecast/daily?q={}&cnt=3&appid={}'.format('Akashi-shi,jp', APPID)
    response = requests.get(url)
    response.raise_for_status()
    
    weather_data = json.loads(response.text)
    pprint.pprint(weather_data)
    
[/code]

* * *

解決しました。【URLの表記ミスでした】  
書籍の内容と公式ドキュメントでは表記に違いがありました。今度からは公式ドキュメントは必ず確認しようと思いました。

[code]

    # × → url ='http://api.openweathermap.org/data/2.5/forecast/daily?q={}&cnt=3&appid={}'.format('London', APPID)
    url ='http://api.openweathermap.org/data/2.5/weather?q={}&appid={}'.format('London', APPID)
    
[/code]


CC BY-SA 3.0
2017-11-25T10:06:51.087
39823
2018-06-07T07:49:12.277
2017-11-25T11:50:45.427
26076
26076
question
python json
pythonでのJSONデータの取得がうまくいきません。助けてほしいです。


エラーメッセージによると有効なAPPIDが設定されてないためのようです。こちらのサービスには詳しくありませんが、下記のリンクにある指示に従ってアカウントを作成し、APPIDを取得する必要があるのではないでしょうか。

<http://openweathermap.org/faq>


CC BY-SA 3.0
2017-11-25T11:30:33.203
39824
2017-11-25T11:30:33.203
26311
39823
answer