エラーハンドリング
APIを利用する際には、エラーが発生する可能性があります。
- URLが間違っている
- 権限が不足している
- APIキーが必要なリクエストをAPIキー無しで行っている
- 呼び出し回数制限が発生した
エラーハンドリングを行うことで、エラーが発生した際に適切な対処ができるようになります。
ここでは、HTTPステータスコードによるエラー判定とAPIから返されるエラーメッセージの処理方法について解説します。
HTTPステータスコードによるエラー判定
APIからのレスポンスには、HTTPステータスコードが含まれています。
このステータスコードを確認することで、リクエストが成功したのか、エラーが発生したのかを判断することができます。
一般的に、200番台のステータスコードは成功を意味し、400番台や500番台のステータスコードはエラーを意味します。
以下は、requestsライブラリを使ったGETリクエストでHTTPステータスコードを確認する例です。
import requests
url = "https://example.com/api"
response = requests.get(url)
if response.status_code == 200:
print("リクエスト成功")
else:
print(f"エラー発生: ステータスコード {response.status_code}")
このコードでは、response.status_code
でHTTPステータスコードを取得し、200であればリクエスト成功と判断しています。
それ以外の場合は、エラーが発生したと判断し、ステータスコードを表示しています。
APIから返されるエラーメッセージの処理
APIから返されるレスポンスデータには、エラーが発生した際のエラーメッセージが含まれることがあります。
このエラーメッセージを取得することで、エラーの原因を特定しやすくなります。
以下は、JSON形式のレスポンスデータからエラーメッセージを取得する例です。
import requests
import json
url = "https://example.com/api"
response = requests.get(url)
if response.status_code == 200:
print("リクエスト成功")
else:
print(f"エラー発生: ステータスコード {response.status_code}")
error_data = json.loads(response.text)
error_message = error_data.get("message", "エラーメッセージがありません")
print(f"エラーメッセージ: {error_message}")
このコードでは、エラーが発生した場合にレスポンスデータをJSON形式でパースし、message
キーに対応するエラーメッセージを取得しています。
エラーメッセージが存在しない場合は、デフォルトのメッセージを表示しています。
エラーハンドリングを行うことで、APIの利用中に発生するエラーに対処しやすくなります。
適切なエラーハンドリングを実装することで、APIを安全かつ効率的に利用することができます。