【Python】APIリクエストをする方法

目次から探す

エラーハンドリング

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を安全かつ効率的に利用することができます。

1 2 3

この記事のページ一覧
  1. 現在のページ
目次から探す