API の呼び出しが失敗し、詳細なエラー内容が提供可能な場合には、HTTP Response Body に含まれる以下の JSON Error Object によりエラー内容が示されます。
エラー原因の概要はエラーコードとして code に示され、詳細情報は description に記載されます。
{ "code": "ERROR_CODE", "description": "error description"}一般的に発生するエラーの code とその説明は以下のとおりです。
| HTTP Status Code | code | 説明 |
|---|---|---|
| 400 | BAD_REQUEST | クライアントからの誤った形式または内容の要求による一般的なエラー |
| 400 | INVALID_PARAMETER | クライアントからのリクエストに含まれるパラメータの形式または内容に問題がある |
| 400 | INVALID_{RESOURCE} | クライアントから要求されたリソースの内容に問題がある |
| 400 | MISSING_PARAMETER | 呼び出しに必要なパラメータが不足している |
| 400 | LIMIT_EXCEEDED | パラメータまたはリソースの制限を超えた |
| 400 | OUT_OF_RANGE | パラメータまたはリソースの制限の範囲外 |
| 401 | UNAUTHORIZED | 必要な認証情報が欠落しているか誤っている 一般的な認証エラーは RFC 6749 を確認してください |
| 403 | FORBIDDEN | サーバーはリクエストの内容を理解したが、拒否した アクセス対象のリソースへのアクセス権がない場合や、アプリがアクセス対象のリソースへの OAuth スコープを保持していない場合も含みます |
| 403 | ACCESS_DENIED | クライアントが要求したリソースへのアクセスが制限されている |
| 403 | LIMIT_EXCEEDED | クライアントが要求したリソースの制限を超えた |
| 403 | OUT_OF_RANGE | クライアントが要求したリソースの制限の範囲外 |
| 404 | NOT_FOUND | クライアントが要求したリソースが存在しない |
| 404 | {RESOURCE}_NOT_EXIST | クライアントが要求した特定のリソースが存在しない |
| 409 | CONFLICT | クライアントが要求したリソースで競合が発生した |
| 409 | ALREADY_EXIST | クライアントが作成しようとしたリソースが既に存在する |
| 409 | {RESOURCE}_ALREADY_EXIST | クライアントが作成しようとした特定のリソースが既に存在する |
| 500 | INTERNAL_SERVER_ERROR | サーバーの内部エラー |
| 503 | SERVICE_UNAVAILABLE | 一時的なサーバーエラー |
API 呼び出しのエラーの原因に応じて、レスポンスの WWW-Authenticate ヘッダーでもエラーの原因が示されます。RFC 6750 に従った内容が返されます。
注意
- レスポンスヘッダーのフィールド名は大文字小文字を区別せずに扱ってください。表記が予告なく変更される可能性があります。
- 参考: https://www.rfc-editor.org/rfc/rfc9110#section-5.1
WWW-Authenticate ヘッダーの構造は以下のとおりです。
WWW-Authenticate {auth-scheme} {auth-param}, {auth-param}...| HTTP Status Code | WWW-Authenticate | 説明 |
|---|---|---|
| 400 | WWW-Authenticate: Bearer error="invalid_request" | リクエストのパラメータ形式が間違っている |
| 401 | WWW-Authenticate: Bearer error="invalid_token" | Access Token が誤っている |
| 403 | WWW-Authenticate: Bearer error="insufficient_scope", scope="{scope list}" | Access Token が、API の呼び出しに必要な Scope を持っていない |
参考
WWW-Authenticate は、エラー レスポンスに対して必ず含まれるわけではありません。 HTTP Status Code が 400、401、または 403 の場合のうち、特定のケースにおいてのみ含まれるレスポンス情報です。