API リクエストが成功すると、API はリクエストされたデータと 200 OK ステータス コードをレスポンスの本文で返します。エラーが発生すると、API は Google API で定義された標準エラーコードのいずれかを返します。このエラーコードは HTTP ステータス コードにマッピングされ、エラー情報を含むレスポンス本文も返されます。エラーが発生した場合は、JSON レスポンス本文の message フィールドと status フィールドを調べて、デバッグに役立つ詳細情報を確認します。
エラーの形式
リクエストがエラーになった場合、API は適切な HTTP ステータス コードと JSON レスポンス本文を返します。エラー レスポンスには、次の構造の error オブジェクトが含まれます。
{
"error": {
"code": 403,
"message": "User does not have sufficient permissions for this property.",
"status": "PERMISSION_DENIED"
}
}
error オブジェクトには次のフィールドがあります。
| フィールド | 説明 |
|---|---|
| コード | HTTP ステータス コード(400、401、403、429、500 など)。 |
| メッセージ | エラーの簡単な説明です。 |
| status | 標準的なエラーコード(INVALID_ARGUMENT、UNAUTHENTICATED、PERMISSION_DENIED、RESOURCE_EXHAUSTED、INTERNAL など)。 |
一般的なエラー
次の表に、API から返される一般的なエラーを示します。
| HTTP ステータス コード | 標準的なコード | 理由 | 説明 |
|---|---|---|---|
| 400 | INVALID_ARGUMENT |
不正なリクエスト | リクエストの形式が正しくありません。これは、日付範囲の誤りや不正な形式のフィルタなど、パラメータの欠落や無効なパラメータが原因で発生することがあります。 |
| 401 | UNAUTHENTICATED |
無効な認証情報 | リクエストには、ターゲット リソースの有効な認証情報がありません。これは、OAuth 2.0 アクセス トークンがない、無効である、または期限切れの場合に発生することがあります。OAuth 2.0 での認証の手順に沿って、有効なトークンを取得します。 |
| 403 | PERMISSION_DENIED |
権限が不足しています | 認証済みユーザーが、リクエストされた Google アナリティクスのプロパティにアクセスできません。 |
| 429 | RESOURCE_EXHAUSTED |
上限を超えています | API 割り当ての上限に達したため、リクエストが拒否されました。詳細については、Data API の上限と割り当てをご覧ください。プロジェクトごとまたはプロパティごとの上限を超えている可能性があります。 |
| 500 | INTERNAL |
内部サーバー エラー | 予期しないサーバーエラーが発生しました。通常、これは一時的な問題です。指数バックオフを使用してリクエストを再試行することをおすすめします。サーバーエラーの割り当てを超えないようにするには、再試行の制限を伴う指数バックオフを実装することが重要です。 |
| 503 | UNAVAILABLE |
サービスを利用できません | サービスは一時的に利用できません。通常、これは一時的な問題です。指数バックオフを使用してリクエストを再試行することをおすすめします。サーバーエラーの割り当てを超えないようにするには、再試行の制限を伴う指数バックオフを実装することが重要です。 |