openweathermapのapiを使って天気を取得しようとし以下のコードを実行しているのですが、
apiに関するエラーコードが発生します。pythonとは関係なくopenweathermapに関するエラー
なのですがもし解決方法ありましたら教えて頂けないでしょうか。エラーコード内の詳細
調べましたが今回に該当しないようです。宜しくお願いします。
python
1import requests 2import json 3 4url = "http://api.openweathermap.org/data/2.5/weather?q={city}&appid={key}&lang=ja&units=metric" 5url = url.format(city="Kobe,JP",key="取得したAPIキー") 6 7jsondata = requests.get(url).json() 8print(jsondata)
エラーコード
{'cod': 401, 'message': 'Invalid API key. Please see http://openweathermap.org/faq#error401 for more info.'}
リンク先(http://openweathermap.org/faq#error401)の4つの事項にどれも該当しないと言うことでしょうか? であればここで答えが出るのも期待薄な気がしますが・・・ おそらくですが、この4つのどれかが原因だと思いますよ。レスポンスコードが401なので、openweathermapは明確な判断基準のもとで401を返してると思います(500エラーとかなら理由も分からずにエラー出してる可能性ありますが)。
この4つの事項のどれにも該当しないと判断したのであれば、その判断した根拠を質問文に追記された方が良いと思います。
ご意見ありがとうございます。私もこの件おそらく解決しないかもと思っているのですが、
念のため4つの事項に該当しないと思った根拠を以下に記載致します。
You did not specify your API key in API request.
⇒APIキーの特定は行っております。
Your API key is not activated yet. Within the next couple of hours, it will be activated and ready to use.
⇒昔からあるデータなんおでまだアクティブじゃないというのは考えにくいです。
You are using wrong API key in API request. Please, check your right API key in personal account.
⇒書籍をもとに参照しているのでこちらも考えにくいです。
You are using a Free subscription and try requesting data available in other subscriptions . For example, 16 days/daily forecast API, any historical weather data, Weather maps 2.0, etc). Please, check your subscription in your personal account.
⇒元々、フリーで取得できるデータを選んでおります。
こちらお答え頂いた件は質問文に追記された方が良いです。回答を出すのに有益な情報ですので。
あとはAPIキーが本当に正しいのか? 有効なのかどうか?でしょうか。あと、APIキーを取得して数時間は401を返すみたいのがあったような気がしました。取得したばかりであれば、もう少し時間をおいてみるといいかもです。
Within the next couple of hours, it will be activated and ready to use.
こちらの部分ですね。承知しました。しばらく待ってみます。