Yêu cầu bị từ chối vì mã truy cập được cung cấp không bao gồm phạm vi OAuth 2.0 của Google Ads API.
Cách xử lý
Đảm bảo rằng mã truy cập có các phạm vi bắt buộc. Một lý do phổ biến gây ra lỗi này là bạn đang sử dụng lại mã truy cập hiện có được tạo bằng một nhóm phạm vi OAuth khác. Hãy xem phần Tham số uỷ quyền OAuth để biết ví dụ về cách tạo mã truy cập mới có các phạm vi bắt buộc.
Mẹo phòng tránh dịch
Đảm bảo rằng mã truy cập có các phạm vi cần thiết. Xác thực lại người dùng bằng các phạm vi bắt buộc để có quyền truy cập vào các phạm vi bắt buộc. Nếu ứng dụng của bạn sử dụng nhiều phạm vi OAuth, bạn có thể cần triển khai Quyền OAuth chi tiết.
google.auth.exceptions.RefreshError
invalid_grant
Tóm tắt
Mã thông báo đã hết hạn hoặc bị thu hồi.
Nguyên nhân thường gặp
Một dự án trên Google Cloud Platform có màn hình xin phép bằng OAuth được định cấu hình cho loại người dùng bên ngoài và trạng thái xuất bản là Testing sẽ được cấp mã làm mới hết hạn sau 7 ngày.
Cách xử lý
Trạng thái phát hành của dự án trên Google là Testing, nên mã làm mới sẽ hết hạn sau mỗi 7 ngày và nhận được lỗi invalid_grant. Truy cập vào Google API Console rồi chuyển đến Màn hình xin phép bằng OAuth. Sau đó, hãy thay đổi trạng thái xuất bản thành In production để tránh việc mã làm mới hết hạn sau 7 ngày.
Không thể sử dụng toán tử này với lớp con của Quảng cáo.
Nguyên nhân thường gặp
Cố gắng sửa đổi các thuộc tính khác ngoài status của quảng cáo.
Cách xử lý
Không có
Mẹo phòng tránh dịch
Bạn không thể sửa đổi quảng cáo sau khi tạo. Nếu muốn sửa đổi quảng cáo, bạn phải tạo một quảng cáo mới rồi xoá quảng cáo cũ. Tuy nhiên, bạn có thể sửa đổi status của quảng cáo bằng MutateAdGroupAds.
INVALID_INPUT
Tóm tắt
Một trong các trường trong quảng cáo chứa ký tự không hợp lệ.
Nguyên nhân thường gặp
Sử dụng ký tự đặc biệt trong URL.
Cách xử lý
Không có
Mẹo phòng tránh dịch
Xác thực URL trong ứng dụng trước khi gửi yêu cầu API.
Hai thao tác trong một yêu cầu chứa một thao tác tạo cho một thành phần có cùng dữ liệu nhị phân.
Nguyên nhân thường gặp
Một yêu cầu thay đổi tài nguyên có các thao tác tạo trùng lặp chứa cùng một dữ liệu nhị phân.
Cách xử lý
Tạo thành phần trong một yêu cầu riêng, sau đó liên kết đến thành phần đó trong yêu cầu tiếp theo; hoặc sử dụng mã tạm thời trong cùng một yêu cầu.
Mẹo phòng tránh dịch
Không có
PARTNER_PROMOTION_ID_TYPE_INCOMPATIBLE
Tóm tắt
Mã khuyến mãi của đối tác sử dụng một biến thể oneof (int_value hoặc string_value) mà tính năng tích hợp chương trình khuyến mãi của tài khoản không chấp nhận.
Nguyên nhân thường gặp
Đặt trường promotion_asset.external_redeem_info.partner_promotion_id.int_value khi quy trình tích hợp sử dụng mã của khách hàng yêu cầu biến thể string_value hoặc đặt trường string_value khi quy trình tích hợp yêu cầu biến thể int_value.
Xác nhận định dạng giá trị nhận dạng chương trình khuyến mãi (int_value hoặc string_value) mà tính năng tích hợp sử dụng điểm bán hàng (POS) để sử dụng trước khi tạo thông báo PromotionAsset có trường external_redeem_info.
Mã khách hàng của khách hàng không phải là một số.
Nguyên nhân thường gặp
Sử dụng mã khách hàng của khách hàng không hợp lệ.
Cách xử lý
Không có
Mẹo phòng tránh dịch
123-456-7890 phải là 1234567890. Hãy xem phần Bắt đầu để biết thông tin chi tiết.
CLIENT_CUSTOMER_ID_IS_REQUIRED
Tóm tắt
Mã khách hàng của khách hàng không được chỉ định trong tiêu đề HTTP.
Nguyên nhân thường gặp
Không chỉ định mã khách hàng của khách hàng trong tiêu đề HTTP.
Cách xử lý
Không có
Mẹo phòng tránh dịch
Mã khách hàng của khách hàng là thông tin bắt buộc cho tất cả các lệnh gọi, vì vậy, hãy đảm bảo bạn đã chỉ định một mã khách hàng trong tiêu đề HTTP. Hãy cân nhắc sử dụng thư viện ứng dụng của chúng tôi vì các thư viện này sẽ xử lý việc này cho bạn.
CUSTOMER_NOT_FOUND
Tóm tắt
Không tìm thấy tài khoản nào cho mã khách hàng được cung cấp trong tiêu đề.
Nguyên nhân thường gặp
Cố gắng truy cập vào một tài khoản vừa được tạo trước khi tài khoản đó được thiết lập trong phần phụ trợ.
Cách xử lý
Đợi 5 phút đầu tiên, sau đó thử lại sau mỗi 30 giây.
Mẹo phòng tránh dịch
Hãy đợi vài phút sau khi tạo tài khoản rồi mới đưa ra yêu cầu đối với tài khoản đó.
GOOGLE_ACCOUNT_COOKIE_INVALID
Tóm tắt
Mã truy cập trong tiêu đề của yêu cầu không hợp lệ hoặc đã hết hạn.
Nguyên nhân thường gặp
Mã truy cập đã bị vô hiệu hoá.
Cách xử lý
Yêu cầu mã thông báo mớ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, hãy tham khảo tài liệu về cách làm mới mã thông báo.
Mẹo phòng tránh dịch
Lưu trữ và sử dụng lại mã truy cập cho đến khi hết hạn.
NOT_ADS_USER
Tóm tắt
Tài khoản Google dùng để tạo mã truy cập không được liên kết với bất kỳ tài khoản Google Ads nào.
Nguyên nhân thường gặp
Thông tin đăng nhập được cung cấp tương ứng với một Tài khoản Google chưa bật Google Ads.
Cách xử lý
Hãy nhớ đăng nhập bằng một tài khoản Google Ads hợp lệ (thường là tài khoản người quản lý) cho quy trình OAuth. Bạn cũng có thể mời Tài khoản Google truy cập vào một tài khoản Google Ads hiện có bằng cách đăng nhập vào tài khoản người quản lý, chọn tài khoản khách hàng hoặc tài khoản người quản lý có liên quan, chuyển đến Tools and Settings > Access and security, rồi thêm địa chỉ email của Tài khoản Google.
Mẹo phòng tránh dịch
Không có
OAUTH_TOKEN_INVALID
Tóm tắt
Mã truy cập OAuth trong tiêu đề không hợp lệ.
Nguyên nhân thường gặp
Mã truy cập mà bạn chuyển cùng với tiêu đề HTTP không chính xác.
Cách xử lý
Không có
Mẹo phòng tránh dịch
Hãy đảm bảo rằng bạn đã chuyển đúng mã truy cập được liên kết với tài khoản của mình. Đôi khi, mã truy cập bị nhầm lẫn với mã làm mới và mã uỷ quyền. Nếu bạn muốn nhận thông tin xác thực có thể truy cập vào tất cả tài khoản khách hàng trong một tài khoản người quản lý, hãy nhớ lấy mã làm mới cho tài khoản người quản lý đó. Hãy xem hướng dẫn xác thực người dùng.
Dự án Google Cloud chỉ có quyền truy cập thử nghiệm và không thể dùng để truy cập vào tài khoản chính thức.
Nguyên nhân thường gặp
Một dự án Google Cloud có Cấp truy cập thử nghiệm đã được dùng để gửi yêu cầu đến một tài khoản Google Ads không phải tài khoản thử nghiệm (tài khoản thực tế). (Trong các phiên bản API v24 trở xuống, điều kiện này sẽ trả về AuthorizationError.ACTION_NOT_PERMITTED.)
Không thể truy cập vào tài khoản khách hàng vì tài khoản này không ở trạng thái đã bật.
Nguyên nhân thường gặp
Điều này xảy ra khi tài khoản khách hàng chưa hoàn tất quy trình đăng ký hoặc đã bị vô hiệu hoá.
Cách xử lý
Đăng nhập vào giao diện người dùng Google Ads và đảm bảo rằng bạn đã hoàn tất quy trình đăng ký cho tài khoản này. Đối với tài khoản đã bị huỷ kích hoạt, hãy xem bài viết Kích hoạt lại tài khoản Google Ads đã bị huỷ.
Mẹo phòng tránh dịch
Bạn có thể chủ động kiểm tra xem tài khoản khách hàng có bị vô hiệu hoá hay không bằng cách kiểm tra trạng thái CANCELLED (ĐÃ HUỶ).
USER_PERMISSION_DENIED
Tóm tắt
Khách hàng được uỷ quyền không có quyền truy cập vào khách hàng đang hoạt động.
Nguyên nhân thường gặp
Xác thực với tư cách là người dùng có quyền truy cập vào tài khoản người quản lý nhưng không chỉ định login-customer-id trong yêu cầu.
Cách xử lý
Không có
Mẹo phòng tránh dịch
Chỉ định login-customer-id làm mã tài khoản người quản lý không có dấu gạch nối (-). Thư viện ứng dụng có hỗ trợ tích hợp cho việc này.
Giá trị giá thầu không phải là bội số chính xác của đơn vị tối thiểu của đơn vị tiền tệ trong tài khoản. Ví dụ: 0, 015 đô la Mỹ (15000 tính theo đơn vị micro) không phải là giá thầu hợp lệ.
Nguyên nhân thường gặp
Không có
Cách xử lý
Không có
Mẹo phòng tránh dịch
Xác minh rằng giá thầu là bội số của đơn vị tối thiểu cho đơn vị tiền tệ của tài khoản.
BID_TOO_BIG
Tóm tắt
Lỗi này được trả về ngay cả khi giá thầu nằm trong ngân sách chiến dịch.
Một chiến dịch đang được thêm hoặc đổi tên, nhưng tên này đã được một chiến dịch khác sử dụng.
Nguyên nhân thường gặp
Tạo một chiến dịch mới có tên trùng với tên của một chiến dịch hiện có đang hoạt động hoặc bị tạm dừng.
Cách xử lý
Ghi lại lỗi và hiển thị thông báo lỗi cho người dùng, có thể đề xuất tên chiến dịch riêng biệt hoặc hiển thị danh sách tên đang được sử dụng.
Mẹo phòng tránh dịch
Không có
CANNOT_SET_CAMPAIGN_KEYWORD_MATCH_TYPE
Tóm tắt
Đang cố gắng thay đổi chế độ cài đặt so khớp từ khoá ở cấp chiến dịch cho một chiến dịch đã bật bộ tính năng Tối đa hoá AI.
Nguyên nhân thường gặp
Khi bạn bật bộ tính năng Tối đa hoá AI, chế độ cài đặt kiểu khớp mở rộng ở cấp chiến dịch sẽ không được dùng nữa vì tất cả từ khoá đều được coi là kiểu khớp mở rộng theo mặc định. Nếu bạn cố gắng đặt hoặc sửa đổi trường này, lỗi sẽ xảy ra.
Cách xử lý
Khuyên người dùng sử dụng tham số `disable_search_term_matching` ở cấp nhóm quảng cáo thay vì đặt kiểu khớp mở rộng ở cấp chiến dịch.
Mẹo phòng tránh dịch
Tránh đặt `keyword_match_type` thành `BROAD` (hoặc bất kỳ giá trị nào khác) trên chiến dịch nếu `ai_max_setting.enable_ai_max` được đặt thành `true`. Bật/tắt tính năng so khớp cụm từ tìm kiếm ở cấp nhóm quảng cáo bằng `disable_search_term_matching`.
Bạn không thể kích hoạt chiến dịch Tạo nhu cầu đã di chuyển trước khi xoá chiến dịch ban đầu hoặc trong khi một chiến dịch đã di chuyển khác cho cùng một chiến dịch ban đầu đang hoạt động.
Nguyên nhân thường gặp
Cập nhật status của một chiến dịch Tạo nhu cầu đã di chuyển thành ENABLED khi chiến dịch nguồn ban đầu chưa bị xoá hoặc một chiến dịch Tạo nhu cầu khác được di chuyển từ cùng một chiến dịch ban đầu đã ở trạng thái ENABLED. Trong các phiên bản API v25 trở xuống, điều kiện này trả về RequestError.UNKNOWN.
Cách xử lý
Xoá chiến dịch nguồn ban đầu bằng CampaignOperation.remove (trước hoặc trong cùng một yêu cầu thay đổi tài nguyên) trước khi kích hoạt chiến dịch Tạo nhu cầu đã di chuyển, đồng thời kiểm tra để đảm bảo rằng không có chiến dịch Tạo nhu cầu nào khác được di chuyển từ cùng một chiến dịch ban đầu đang hoạt động. Hãy xem bài viết Kích hoạt chiến dịch đã di chuyển để biết thông tin chi tiết.
Mẹo phòng tránh dịch
Nếu bạn theo dõi mã nhận dạng của chiến dịch nguồn ban đầu và chiến dịch Tạo nhu cầu đã di chuyển, hãy truy vấn campaign.status trước khi đặt status thành ENABLED trên một chiến dịch đã di chuyển hoặc thêm CampaignOperation.remove cho chiến dịch ban đầu trong cùng một yêu cầu thay đổi tài nguyên.
Đã xảy ra lỗi không mong muốn trong khi xử lý yêu cầu.
Nguyên nhân thường gặp
API không hoạt động đúng cách do có lỗi.
Cách xử lý
Thử lại mọi yêu cầu không thành công do lỗi này, sử dụng lịch biểu thời gian đợi luỹ thừa cho các lần thử lại.
Mẹo phòng tránh dịch
Không có
TRANSIENT_ERROR
Tóm tắt
Đã xảy ra lỗi nội bộ tạm thời và bạn nên thử lại.
Nguyên nhân thường gặp
Lỗi này xảy ra khi API gặp sự cố tạm thời trong nội bộ.
Cách xử lý
Thử lại mọi yêu cầu không thành công do lỗi này, sử dụng lịch biểu thời gian đợi luỹ thừa cho các lần thử lại.
Mẹo phòng tránh dịch
Không có
InvalidGrantError
invalid_grant (malformed auth code)
Tóm tắt
Mã uỷ quyền được đổi lấy mã thông báo OAuth không đúng định dạng.
Nguyên nhân thường gặp
Điều này xảy ra khi bạn cố gắng tạo mã làm mới cho một người dùng đã được cấp quyền truy cập vào ứng dụng yêu cầu. Ví dụ: điều này có thể xảy ra khi bạn chạy ví dụ về Tạo thông tin xác thực người dùng nhiều lần cho cùng một thông tin xác thực ứng dụng OAuth và người dùng uỷ quyền.
Cách xử lý
Để tạo lại mã làm mới cho một tổ hợp thông tin đăng nhập của người dùng uỷ quyền và ứng dụng OAuth, hãy thu hồi mã làm mới hiện có. Xin lưu ý rằng việc thu hồi mã thông báo sẽ khiến mã thông báo đó không thể dùng để truy cập vào Google Ads API và làm mất hiệu lực của mọi mã truy cập được tạo bằng mã làm mới đó.
Mẹo phòng tránh dịch
Hãy nhớ lưu trữ mã làm mới ở một nơi an toàn để tránh phải tạo lại.
Yêu cầu đề cập đến một tài nguyên không tìm thấy được.
Nguyên nhân thường gặp
Yêu cầu đã cố gắng thay đổi hoặc tham chiếu đến một tài nguyên không tồn tại hoặc đã bị xoá. Hoặc tên tài nguyên được cung cấp cho tài nguyên không đúng định dạng.
Cách xử lý
Hãy sử dụng yêu cầu tìm kiếm để truy xuất tên tài nguyên cho một tài nguyên hiện có trước khi gửi yêu cầu thay đổi tài nguyên. Xem hướng dẫn về thư viện ứng dụng của chúng tôi, trong đó có tài liệu về cách tạo tên tài nguyên hợp lệ bằng mọi ngôn ngữ được hỗ trợ
Mẹo phòng tránh dịch
Đừng tạo tên tài nguyên theo cách thủ công. Sử dụng một trong các phương thức trợ giúp do thư viện ứng dụng của chúng tôi cung cấp.
Yêu cầu đang cố gắng tạo một tài nguyên khiến tổng số tài nguyên đó vượt quá giới hạn đã chỉ định.
Nguyên nhân thường gặp
Có nhiều giới hạn về số lượng tài nguyên có thể tồn tại trong một số bối cảnh nhất định.
Cách xử lý
Xác định giới hạn mà bạn đang gặp phải bằng cách xem phần Giới hạn hệ thống. Hãy sử dụng lại một tài nguyên hiện có hoặc xoá tài nguyên để tạo không gian cho tài nguyên mới.
Mẹo phòng tránh dịch
Sử dụng cụm từ tìm kiếm để theo dõi số lượng tài nguyên có giới hạn.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2026-10-30 UTC."],[],[]]