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 物件包含下列欄位:
| 欄位 | 說明 |
|---|---|
| code | HTTP 狀態碼,例如 400、401、403、429 或 500。 |
| 訊息 | 錯誤的簡短說明。 |
| 狀態 | 標準化錯誤代碼,例如 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 Analytics 資源。 |
| 429 | RESOURCE_EXHAUSTED |
超過配額 | 已達 API 配額上限,因此要求遭拒。詳情請參閱「Data API 限制和配額」。您可能超出每項專案或資源的限制。 |
| 500 | INTERNAL |
內部伺服器錯誤 | 發生未預期的伺服器錯誤,這通常是暫時性問題,建議以指數輪詢方式重試要求。為避免超出伺服器錯誤配額,請務必導入指數輪詢和重試次數限制。 |
| 503 | UNAVAILABLE |
無法使用服務 | 這項服務暫時無法使用。這通常是暫時性問題,建議以指數輪詢方式重試要求。為避免超出伺服器錯誤配額,請務必導入指數輪詢和重試次數限制。 |