Lỗi có thể do thiết lập môi trường không chính xác, lỗi trong phần mềm hoặc dữ liệu đầu vào không hợp lệ của người dùng. Bất kể nguồn nào, bạn cũng cần khắc phục sự cố và sửa mã hoặc thêm logic để xử lý lỗi của người dùng. Hướng dẫn này trình bày một số phương pháp hay nhất khi khắc phục sự cố từ Google Ads API.
Đảm bảo khả năng kết nối
Đảm bảo rằng bạn có quyền truy cập vào Google Ads API và đã thiết lập đúng cách. Nếu phản hồi của bạn trả về bất kỳ lỗi HTTP nào, hãy nhớ xử lý các lỗi đó một cách cẩn thận và đảm bảo rằng bạn đang truy cập vào các dịch vụ mà bạn dự định sử dụng từ mã của mình.
Thông tin đăng nhập của bạn được nhúng trong yêu cầu để các dịch vụ xác thực bạn. Làm quen với cấu trúc của các yêu cầu và phản hồi của Google Ads API, đặc biệt nếu bạn định xử lý các lệnh gọi mà không sử dụng thư viện ứng dụng. Mỗi thư viện ứng dụng đều có hướng dẫn cụ thể về cách đưa thông tin đăng nhập của bạn vào tệp cấu hình (tham khảo tệp README của thư viện ứng dụng).
Xác minh rằng bạn đang sử dụng thông tin đăng nhập chính xác. Hướng dẫn bắt đầu nhanh của chúng tôi sẽ hướng dẫn bạn quy trình lấy đúng bộ bạn cần. Ví dụ: phản hồi không thành công sau đây cho thấy người dùng đã gửi thông tin xác thực không hợp lệ:
{ "error": { "code": 401, "message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. Visit https://developers.google.com/identity/sign-in/web/devconsole-project.", "status": "UNAUTHENTICATED", "details": [ { "@type": "type.googleapis.com/google.rpc.DebugInfo", "detail": "Authentication error: 2" } ] } }
Nếu bạn đã làm theo các bước này nhưng vẫn gặp vấn đề, thì đã đến lúc bạn cần tìm hiểu kỹ hơn về cách khắc phục sự cố Google Ads API.
Xác định vấn đề
Google Ads API thường báo cáo lỗi dưới dạng đối tượng lỗi JSON, chứa danh sách lỗi trong phản hồi. Các đối tượng này cung cấp mã lỗi cũng như thông báo giải thích lý do xảy ra lỗi. Chúng là những tín hiệu đầu tiên cho biết vấn đề có thể là gì.
{
"errors": [
{
"errorCode": { "fieldMaskError": "FIELD_NOT_FOUND" },
"message": "The field mask contained an invalid field: 'keyword.match_type'.",
"location": {
"fieldPathElements": [
{ "fieldName": "operations", "index": 1 }
]
}
}
]
}
Tất cả thư viện ứng dụng của chúng tôi đều gửi các ngoại lệ đóng gói lỗi trong phản hồi. Việc ghi lại các ngoại lệ này và in thông báo trong nhật ký hoặc màn hình khắc phục sự cố là một cách hay để bắt đầu. Việc tích hợp thông tin này với các sự kiện khác được ghi lại trong ứng dụng sẽ cung cấp thông tin tổng quan về những yếu tố có thể gây ra vấn đề. Sau khi xác định được lỗi trong nhật ký, bạn cần tìm hiểu ý nghĩa của lỗi đó.
Nghiên cứu lỗi
Hãy tham khảo tài liệu về Các lỗi thường gặp, trong đó đề cập đến các lỗi thường gặp nhất. Bảng này mô tả thông báo lỗi, tài liệu tham khảo API có liên quan và cách tránh hoặc xử lý lỗi.
Nếu tài liệu về các lỗi thường gặp của chúng tôi không đề cập cụ thể đến lỗi đó, hãy tham khảo tài liệu tham khảo của chúng tôi và tìm chuỗi lỗi.
Tìm kiếm trên kênh hỗ trợ của chúng tôi để xem những nhà phát triển khác chia sẻ trải nghiệm của họ với API. Có thể người khác đã gặp phải và giải quyết được vấn đề mà bạn đang gặp phải.
Truy cập vào Trung tâm trợ giúp của Google Ads để được trợ giúp khắc phục sự cố về việc xác thực hoặc hạn mức trong tài khoản. Google Ads API kế thừa các quy tắc và giới hạn của sản phẩm Google Ads chính.
Đôi khi, bài đăng trên blog sẽ là tài liệu tham khảo hữu ích khi bạn khắc phục sự cố cho ứng dụng.
Nếu bạn gặp lỗi không có trong tài liệu, hãy liên hệ với bộ phận hỗ trợ.
Sau khi nghiên cứu lỗi, bạn cần xác định nguyên nhân gốc.
Xác định nguyên nhân
Kiểm tra thông báo ngoại lệ để xác định nguyên nhân gây ra lỗi. Sau khi xem xét phản hồi, hãy kiểm tra yêu cầu để tìm nguyên nhân có thể xảy ra. Một số thông báo lỗi của Google Ads API
có chứa fieldPathElements trong
trường location của GoogleAdsError,
cho biết vị trí xảy ra lỗi trong yêu cầu. Ví dụ:
{
"errors": [
{
"errorCode": {"criterionError": "CANNOT_ADD_CRITERIA_TYPE"},
"message": "Criteria type can not be targeted.",
"trigger": { "stringValue": "" },
"location": {
"fieldPathElements": [
{ "fieldName": "operations", "index": 0 },
{ "fieldName": "create" },
{ "fieldName": "keyword" }
]
}
}
]
}
Khi khắc phục sự cố, bạn có thể thấy ứng dụng của mình đang cung cấp thông tin không chính xác cho API. Bạn nên sử dụng trình gỡ lỗi môi trường phát triển tích hợp (IDE) để đặt điểm ngắt, thực hiện từng bước mã của bạn và kiểm tra tải trọng yêu cầu được tạo trước khi gửi.
Kiểm tra kỹ để đảm bảo yêu cầu khớp với dữ liệu đầu vào của ứng dụng (ví dụ: tên của chiến dịch có thể không được đưa vào yêu cầu). Hãy nhớ gửi một mặt nạ trường khớp với nội dung cập nhật mà bạn muốn thực hiện – Google Ads API hỗ trợ các nội dung cập nhật thưa thớt. Việc bỏ qua một trường khỏi mặt nạ trường trong yêu cầu thay đổi tài nguyên cho biết API sẽ không thay đổi trường đó. Nếu ứng dụng của bạn truy xuất một đối tượng, thực hiện thay đổi và gửi lại đối tượng đó, thì có thể bạn đang ghi vào một trường không hỗ trợ cập nhật. Hãy kiểm tra nội dung mô tả của trường trong tài liệu tham khảo để xem có quy định hạn chế nào về thời điểm hoặc khả năng cập nhật trường hay không.
Cách yêu cầu trợ giúp
Không phải lúc nào bạn cũng có thể tự xác định và giải quyết vấn đề. Bạn có thể liên hệ với bộ phận hỗ trợ để được trợ giúp.
Cố gắng cung cấp càng nhiều thông tin càng tốt trong câu hỏi. Các mặt hàng được đề xuất bao gồm:
- Yêu cầu và phản hồi JSON đã được dọn dẹp. Hãy nhớ xoá thông tin nhạy cảm như mã truy cập OAuth, mã làm mới và mã khách hàng.
- Đoạn mã. Nếu bạn gặp vấn đề về ngôn ngữ hoặc đang yêu cầu trợ giúp về API, hãy thêm một đoạn mã để giải thích những gì bạn đang làm.
request-id. Việc này giúp các thành viên trong nhóm Google Developers tìm thấy yêu cầu của bạn nếu yêu cầu đó được thực hiện trong môi trường thực tế. Bạn nên ghi lạirequest-idcó trong tiêu đề phản hồi hoặc các ngoại lệ đóng gói lỗi phản hồi, cũng như nhiều bối cảnh hơn ngoàirequest-id.- Thông tin bổ sung, chẳng hạn như phiên bản thời gian chạy hoặc trình thông dịch và nền tảng, cũng có thể hữu ích khi khắc phục sự cố.
Khắc phục vấn đề
Giờ đây, khi đã tìm ra vấn đề và đưa ra giải pháp, bạn có thể thực hiện thay đổi và kiểm tra bản sửa lỗi đối với tài khoản thử nghiệm (ưu tiên) hoặc tài khoản chính thức (nếu lỗi chỉ áp dụng cho dữ liệu trong một tài khoản chính thức cụ thể).
Các bước tiếp theo
Giờ bạn đã giải quyết được vấn đề này, bạn có nhận thấy cách nào để cải thiện mã nhằm tránh vấn đề này ngay từ đầu không?
Việc tạo một bộ kiểm thử đơn vị tốt giúp cải thiện đáng kể chất lượng và độ tin cậy của mã. Việc này cũng giúp đẩy nhanh quá trình thử nghiệm các thay đổi mới để đảm bảo những thay đổi đó không làm hỏng chức năng trước đó. Chiến lược xử lý lỗi hiệu quả cũng là yếu tố then chốt để hiển thị tất cả dữ liệu cần thiết cho việc khắc phục sự cố.