アプリ開発では避けては通れない道。
JSON レスポンスの取り扱い。
本記事では Web API にどういうリクエストを出せば、どういうレスポンスが返ってくるかをサクッと確認する方法 ご紹介していきます。
追記:
VS Code を使っている方は、Rest Client がオススメです。
記事を書いていますので、ご確認ください
>>【VS Code プラグイン】Postman より便利!? Rest Client をオススメする理由
利用するエンドポイント
一般的に API を利用する場合、アクセス数を確認し制限するため、そのサービスにユーザー登録する必要があります。
ですが、それでは「ツールの確認」とは別のところで結構時間が取られますの。
ありがたいことに、ユーザー登録不要でテスト用の API を提供しているサイトがあるので、そちらを利用させてもらいます。
こちらがそのサイトで、各種ダミーデータが取得できます。
- Posts (https://jsonplaceholder.typicode.com/posts/)
- Comments (https://jsonplaceholder.typicode.com/comments/)
- Albums (https://jsonplaceholder.typicode.com/albums/)
- Photos (https://jsonplaceholder.typicode.com/photos/)
- Users (https://jsonplaceholder.typicode.com/users/)
- Todos (https://jsonplaceholder.typicode.com/todos/)
メインで「Users (https://jsonplaceholder.typicode.com/users/)」を使いますが、他のページも必要に応じて使ってみてください。
Postman を使ってみる
Postman は、API の開発でよく利用されています。
どういうリクエストを出せば、どういうレスポンスがくるかが簡単にわかるので、始めて試す API の動作を見るの大変便利です。
個人的には、Postman で API 動作を理解 → Python で実装という流れでよく利用しています。
Chrome Extension をインストール
こちらからインストールできます。
Postman の公式サイトから提供されており、利用ユーザも多く評価も高いので安心して使えますね。
EXE でローカルインストール
公式サイト(https://www.getpostman.com/)
特に複雑な設定はないので、OK で進んでいって問題ありません。
問題なくインストールできましたでしょうか?
それでは実際に、使っていきましょ!
GET リクエストをする
使い方はとてもシンプルで、ベーシックなポイントは 3 つ!
- 「GET」を選択し
- 「URL」 を入力し
- 「Send」する
だけです。
そして、レスポンス結果が下側に表示されます。
また、フォルダごとにリクエスト方法を管理できるのですごい便利です。
この結果から、最初の情報の経度(lat) や緯度(lng)を取得する場合、
- latitude = response[0][‘address’][‘geo’][‘lat’]
- longitude = response[0][‘address’][‘geo’][‘lng’]
と階層を辿れば簡単にわかりますね。
その他の使い方
その他にもイロイロな使い方ができますので、ぜひ使ってみてください。
既にたくさんの方が詳しい使い方を載せていますので、こちらでは割愛します。
Python の requests モジュールを使ってみる
Python の標準ライブラリに urllib があるのですが、公式ページで Requests パッケージが推奨されています。
なので、特に理由がなければ Requests パッケージを利用しましょ。
pip install requests
このようにしてダウンロードできます。
import requests
url = 'https://jsonplaceholder.typicode.com/users/'
res = requests.get(url)
res.status_code
json_res = res.json()
latitude = json_res[0]['address']['geo']['lat']
longitude = json_res[0]['address']['geo']['lng']
print(res.status_code) # 200
print(latitude) # -37.3159
print(longitude) # 81.1496
urllib を使うとエンコードなど面倒な作業がひつようなのですが、requests はなかなか簡単に利用できます。
利用する際は、import するの忘れないでくださいね!
まとめ
いかがでしたでしょうか?
JSON ファイルがどんな内容なのかを Postman で確認し、その後 Python で実装したら便利であることがわかりましたでしょうか?
実際には、GET リクエストにクエリを記述したり、Web API の認証などもあるのでそれらをまずは「見て分かる」ようにするのは大変重要かと思います。
これで Postman を使いこなせるようになり、Python で爆速なウェブ開発ができますね!