Ủy quyền và tiêu đề HTTP

Bạn cần có thông tin xác thực OAuth 2.0 khi gọi Google Ads API. Nếu đang thực hiện lệnh gọi API bằng tài khoản người quản lý Google Ads, bạn cũng cần chỉ định tiêu đề login-customer-id cho mỗi yêu cầu. Trang này mô tả cách đặt các giá trị này và ghi lại một số tiêu đề HTTP bổ sung dành riêng cho API được gửi và nhận khi sử dụng giao diện REST.

Thông tin xác thực OAuth 2.0

Google Ads API sử dụng OAuth 2.0 để uỷ quyền cho các yêu cầu API. Cả quy trình xác thực người dùng và quy trình tài khoản dịch vụ của OAuth 2.0 đều được hỗ trợ. Để biết thêm thông tin, hãy xem bài viết OAuth 2.0 trong Google Ads API.

Nếu mới sử dụng API của Google, bạn có thể dùng công cụ dòng lệnh gcloud hoặc OAuth 2.0 Playground để thử nghiệm thông tin xác thực OAuth 2.0 và Google Ads API trước khi viết mã cho ứng dụng của mình.

Bạn nên sử dụng một trong các thư viện OAuth 2.0 có tại https://oauth.net/code/ để triển khai quy trình uỷ quyền OAuth 2.0. Tuy nhiên, chúng tôi đã liệt kê hướng dẫn về curl trong trường hợp bạn cần tự triển khai.

Tài khoản dịch vụ

Làm theo các bước để định cấu hình một dự án trên đám mây của Google Cloud cho Google Ads API. Ghi lại email của tài khoản dịch vụ và khoá tài khoản dịch vụ. Tiếp theo, hãy làm theo hướng dẫn chung trong hướng dẫn về Tài khoản dịch vụ để thiết lập tài khoản dịch vụ nhằm truy cập vào tài khoản Google Ads của bạn.

Xác thực người dùng

Làm theo các bước để định cấu hình dự án Google Cloud Console cho Google Ads API. Ghi lại mã ứng dụng khách và khoá bí mật của ứng dụng khách. Tiếp theo, hãy làm theo hướng dẫn về quy trình ứng dụng dành cho máy tính hoặc hướng dẫn về quy trình ứng dụng web để tạo mã làm mới và mã truy cập. scope để sử dụng cho quyền truy cập vào Google Ads API là https://www.googleapis.com/auth/adwords.

Tạo mã truy cập mới

Tài khoản dịch vụ

Khi bạn có email tài khoản dịch vụ và khoá tài khoản dịch vụ, hãy làm theo hướng dẫn Sử dụng OAuth 2.0 cho ứng dụng từ máy chủ đến máy chủ để tạo tập hợp thông báo xác nhận quyền sở hữu JWT. Sau đó, bạn có thể đổi tập hợp này để lấy mã truy cập OAuth 2.0. Hãy nhớ chọn thẻ HTTP/REST trong khi làm theo hướng dẫn. scope OAuth 2.0 để sử dụng cho quyền truy cập vào Google Ads API là https://www.googleapis.com/auth/adwords. Ngoài ra, bạn có thể bỏ qua tham số sub khi tạo tập hợp thông báo xác nhận quyền sở hữu JWT, vì các bước thiết lập sẽ cấp cho tài khoản dịch vụ quyền truy cập trực tiếp vào tài khoản Google Ads, nhờ đó tránh được việc phải mạo danh người dùng Google Ads.

Sau đó, bạn sử dụng mã truy cập trong tiêu đề HTTP Authorization của mỗi lệnh gọi API đến Google Ads API:

GET /v26/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN

Xác thực người dùng

Sau khi có mã ứng dụng khách, khoá bí mật của ứng dụng khách và mã làm mới OAuth 2.0, bạn có thể tạo mã truy cập mới để sử dụng trong các lệnh gọi API bằng công cụ dòng lệnh curl:

curl \
  --data "grant_type=refresh_token" \
  --data "client_id=CLIENT_ID" \
  --data "client_secret=CLIENT_SECRET" \
  --data "refresh_token=REFRESH_TOKEN" \
  https://www.googleapis.com/oauth2/v3/token

Sau đó, bạn sử dụng mã truy cập do yêu cầu curl trả về trong tiêu đề HTTP Authorization của mọi lệnh gọi API đến Google Ads API:

GET /v26/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN

Tiêu đề của yêu cầu

Các phần sau đây mô tả các tiêu đề HTTP bắt buộc hoặc được sử dụng khi gửi yêu cầu đến API Google Ads.

Mã khách hàng đăng nhập

Đối với các lệnh gọi Google Ads API do người quản lý thực hiện đến tài khoản khách hàng (tức là khi đăng nhập với tư cách là người quản lý để thực hiện lệnh gọi API đến một trong các tài khoản khách hàng của người quản lý đó), bạn cũng cần cung cấp tiêu đề HTTP login-customer-id. Giá trị này đại diện cho mã khách hàng Google Ads của người quản lý thực hiện lệnh gọi API.

Việc thêm tiêu đề này tương đương với việc chọn một tài khoản trong giao diện người dùng Google Ads sau khi đăng nhập hoặc nhấp vào ảnh hồ sơ của bạn ở góc trên cùng bên phải của trang. Khi chỉ định mã khách hàng, hãy nhớ xoá mọi dấu gạch nối (—). Ví dụ: 1234567890, không phải 123-456-7890. Tham khảo hướng dẫn về mô hình truy cập Google Ads để tìm hiểu thêm về mã khách hàng đăng nhập.

GET /v26/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID

Mã khách hàng được liên kết

Tiêu đề Mã khách hàng được liên kết được các đối tác (chẳng hạn như nhà cung cấp dịch vụ phân tích ứng dụng bên thứ ba hoặc đối tác dữ liệu) sử dụng khi thao tác trên một tài khoản Google Ads được liên kết. Hãy xem hướng dẫn về Cấu trúc lệnh gọi API để biết thêm thông tin chi tiết.

Authorization: Bearer ACCESS_TOKEN
login-customer-id: PARTNER_CUSTOMER_ID
linked-customer-id: ADVERTISER_CUSTOMER_ID

Tiêu đề phản hồi

Các tiêu đề sau đây được trả về trong phản hồi HTTP từ API.

Mã yêu cầu

request-id là một chuỗi xác định duy nhất yêu cầu API. Khi gỡ lỗi hoặc khắc phục sự cố với các lệnh gọi API cụ thể, request-id là một giá trị nhận dạng quan trọng cần có khi liên hệ với bộ phận hỗ trợ Google Developers.

request-id: 2a5Cj89VV7CNhya1DZjjrC