Xử lý lỗi API

Khi bạn gửi yêu cầu đến Google Ads API, yêu cầu đó có thể không thành công vì nhiều lý do. Ví dụ: bạn có thể cung cấp một đối số không hợp lệ hoặc tài khoản của bạn có thể đã đạt đến giới hạn về số lượng chiến dịch mới mà bạn có thể tạo. Trong những trường hợp như vậy, API sẽ trả về một lỗi để cho bạn biết vấn đề.

Hướng dẫn này giải thích cách đọc và xử lý lỗi API để bạn có thể tạo các ứng dụng mạnh mẽ hơn.

Cấu trúc lỗi

Nếu bạn đang sử dụng một trong các thư viện ứng dụng của chúng tôi, thì lỗi API sẽ xuất hiện dưới dạng ngoại lệ. Các trường hợp ngoại lệ này chứa thông tin chi tiết giúp bạn hiểu lý do xảy ra lỗi.

Google Ads API trả về thông tin lỗi ở định dạng chuẩn. Nếu xảy ra lỗi, phản hồi sẽ chứa một đối tượng GoogleAdsFailure. Đối tượng này chứa một danh sách các đối tượng GoogleAdsError riêng lẻ, mỗi đối tượng nêu chi tiết một lỗi cụ thể.

Mỗi đối tượng GoogleAdsError cung cấp:

  • error_code: Một mã lỗi cụ thể cho biết loại lỗi, chẳng hạn như AuthenticationError.NOT_ADS_USER.
  • message: Nội dung mô tả mà con người có thể đọc được về lý do xảy ra lỗi.
  • trigger: Giá trị gây ra lỗi, chẳng hạn như "1234".
  • location: Thông tin chi tiết về phần nào của yêu cầu gây ra lỗi, chẳng hạn như tên trường cụ thể.

Ngoài danh sách lỗi, GoogleAdsFailure còn chứa requestId. Đây là giá trị nhận dạng duy nhất cho yêu cầu API dẫn đến lỗi.

Ví dụ về lỗi

Sau đây là ví dụ về lỗi ở định dạng JSON. Lỗi này cho biết rằng trường name của ad_group tại chỉ mục 0 bị thiếu trong yêu cầu.

{
  "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"
    }
  ]
}

Cách xử lý lỗi

Nếu bạn gặp lỗi, hãy làm theo các bước sau:

  1. Kiểm tra danh sách errors: Xem xét từng GoogleAdsError trong đối tượng GoogleAdsFailure. error_codemessage sẽ cho bạn biết lỗi đã xảy ra.
  2. Kiểm tra location: Trường location có thể giúp bạn xác định chính xác vị trí xảy ra vấn đề trong yêu cầu của mình.
  3. Tham khảo tài liệu: Đối với một số mã lỗi cụ thể, hãy kiểm tra trang lỗi thường gặp hoặc tài liệu tham khảo đầy đủ về mã lỗi để biết thêm thông tin chi tiết về lỗi và cách khắc phục.
  4. Điều chỉnh yêu cầu của bạn: Dựa trên thông báo lỗi, hãy điều chỉnh yêu cầu API của bạn. Ví dụ: nếu bạn thấy REQUIRED_FIELD_MISSING, hãy nhớ cung cấp trường đó trong yêu cầu của bạn.
  5. Ghi lại request_id: Nếu bạn không thể tìm ra cách giải quyết lỗi và cần liên hệ với nhóm hỗ trợ thông qua diễn đàn, hãy thêm request_id. Mã nhận dạng này giúp các kỹ sư của Google điều tra vấn đề của bạn.

Các bước tiếp theo

  • Hãy xem phần Các lỗi thường gặp để biết danh sách các vấn đề thường gặp và giải pháp khắc phục.
  • Để biết thêm các kỹ thuật xử lý lỗi nâng cao, bao gồm cả logic thử lại và lỗi một phần, hãy xem phần Tìm hiểu về lỗi API.