向 Google Ads API 傳送要求時,可能會因為各種原因而失敗。舉例來說,您可能提供無效的引數,或是帳戶建立新廣告活動的數量已達上限。在這種情況下,API 會傳回錯誤訊息,說明發生了什麼問題。
本指南說明如何讀取及處理 API 錯誤,以便建構更完善的應用程式。
錯誤結構
如果您使用我們的用戶端程式庫,API 錯誤會以例外狀況的形式顯示。這些例外狀況包含詳細資料,可協助您瞭解發生錯誤的原因。
Google Ads API 會以標準格式傳回錯誤資訊。如果發生錯誤,回應會包含 GoogleAdsFailure 物件。這個物件包含個別 GoogleAdsError 物件的清單,每個物件都詳細說明特定錯誤。
每個 GoogleAdsError 物件都會提供:
error_code:特定錯誤代碼,可指出錯誤類型,例如AuthenticationError.NOT_ADS_USER。message:使用者可自然閱讀的錯誤說明。trigger:導致錯誤的值,例如「1234」。location:要求中導致錯誤的部分詳細資料,例如特定欄位名稱。
除了錯誤清單之外,GoogleAdsFailure 還包含 requestId,這是導致錯誤的 API 要求的專屬 ID。
錯誤範例
以下是 JSON 格式的錯誤範例。這項錯誤表示要求缺少索引 0 處 ad_group 的 name 欄位。
{
"code": 3,
"message": "Request contains an invalid argument.",
"details": [
{
"@type": "type.googleapis.com/google.ads.googleads.v22.errors.GoogleAdsFailure",
"errors": [
{
"errorCode": {
"requestError": "REQUIRED_FIELD_MISSING"
},
"message": "Required field is missing",
"location": {
"fieldPathElements": [
{
"fieldName": "ad_group",
"index": 0
},
{
"fieldName": "name"
}
]
}
}
],
"requestId": "unique_request_id_12345"
}
]
}
如何處理錯誤
如果發生錯誤,請按照下列步驟操作:
- 檢查
errors清單:查看GoogleAdsFailure物件中的每個GoogleAdsError。error_code和message會說明發生哪些錯誤。 - 檢查
location:location欄位可協助您找出要求中發生問題的位置。 - 參閱說明文件:如要瞭解特定錯誤代碼,請查看常見錯誤頁面或完整的錯誤代碼參考資料,進一步瞭解錯誤和修正方法。
- 調整要求:根據錯誤訊息修正 API 要求。舉例來說,如果看到
REQUIRED_FIELD_MISSING,請務必在要求中提供該欄位。 - 記錄
request_id:如果無法解決錯誤,且需要透過論壇聯絡支援團隊,請附上request_id。這組 ID 可協助 Google 工程師調查問題。