Lỗi có thể xảy ra 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 đảm bảo bạn giải quyết những lỗi đó một cách cẩn thận và 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 API và phản hồi Google Ads API, đặc biệt nếu bạn sẽ 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 được cung cấp kèm theo 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. Đây là những tín hiệu đầu tiên cho thấy vấn đề có thể xảy ra.
{
"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 Các lỗi thường gặp của chúng tôi. Tài liệu này đề cập đến những lỗi thường gặp nhất. Phần 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 trong các kênh hỗ trợ của chúng tôi để có quyền truy cập vào những nhà phát triển khác đang chia sẻ trải nghiệm của họ với API. Có thể ai đó đã 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ố xác thực hoặc giới hạn tài khoản – API Google Ads kế thừa các quy tắc và giới hạn của sản phẩm Google Ads cốt lõi.
Đô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 phải lỗi không có trong tài liệu, hãy liên hệ với nhóm hỗ trợ.
Sau khi nghiên cứu lỗi, bạn cần xác định nguyên nhân gốc rễ.
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ố, có thể bạn sẽ 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, từng bước thực hiện dòng mã và kiểm tra tải trọng yêu cầu đã 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). Đảm bảo rằng bạn 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 bản 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 phần mô tả của trường trong tài liệu tham khảo để xem có hạn chế nào về thời điểm hoặc việc bạn có thể 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ủa bạn. 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, bạn đã xác định được vấn đề và đưa ra giải pháp, đã đến lúc bạn thực hiện thay đổi và kiểm thử bản sửa lỗi trên một tài khoản thử nghiệm (nên dùng) hoặc tài khoản sản xuất (nếu lỗi chỉ áp dụng cho dữ liệu trong một tài khoản sản xuất 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ã của mình nhằm tránh gặp phải vấn đề này ngay từ đầu không?
Việc tạo một bộ kiểm thử đơn vị tốt sẽ 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 tăng tốc quá trình kiểm thử 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ố.