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

Bạn cần cả thông tin đăng nhập OAuth 2.0 và mã của nhà phát triển khi gọi API Google Ads. Nếu đang thực hiện các 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 dành riêng cho API khác được gửi và nhận khi sử dụng giao diện REST.

Thông tin đăng nhập OAuth 2.0

API Google Ads 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 OAuth 2.0 và quy trình tài khoản dịch vụ đều được hỗ trợ. Để biết thêm thông tin chi tiết, hãy xem bài viết OAuth 2.0 trong API Google Ads.

Nếu mới làm quen với API của Google, bạn có thể sử dụng giao diện 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à API Google Ads 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ê các 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 Google Cloud cho API Google Ads. Ghi lại email tài khoản dịch 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 một dự án trên Google Cloud Console cho Google Ads API. Ghi lại mã ứng dụng kháchkhoá 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 của ứng dụng dành cho máy tính hoặc hướng dẫn về quy trình của ứng dụng web để tạo mã làm mớimã truy cập. scope để sử dụng cho quyền truy cập API Google Ads 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ụkhoá tài khoản dịch vụ, hãy làm theo hướng dẫn Sử dụng OAuth 2.0 cho các ứng dụng từ máy chủ đến máy chủ để tạo tập hợp khai báo JWT. Sau đó, bạn có thể trao đổi tập hợp này để lấy mã truy cập OAuth 2.0. Nhớ chọn thẻ HTTP/REST trong khi làm theo hướng dẫn. scope OAuth 2.0 dùng để truy cập vào API Google Ads 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 các câu lệnh JWT, vì các bước thiết lập 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, do đó, bạn không cần mạo danh người dùng Google Ads.

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

GET /v22/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

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

Sau khi có mã ứng dụng, khoá bí mật của ứng dụngmã 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 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 API Google Ads:

GET /v22/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

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

Mã của nhà phát triển

API Google Ads cũng yêu cầu mã của nhà phát triển để thực hiện các lệnh gọi đến API. Nếu đã có mã của nhà phát triển, bạn có thể tìm thấy mã này bằng cách truy cập vào https://ads.google.com/aw/apicenter. Đăng nhập vào tài khoản người quản lý Google Ads nếu được nhắc. Nếu bạn chưa có mã thông báo, hãy làm theo hướng dẫn để đăng ký mã thông báo nhà phát triển.

Bạn phải thêm giá trị mã thông báo của nhà phát triển vào tiêu đề HTTP developer-token của mọi lệnh gọi API tới API Google Ads:

GET /v22/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

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

Đối với các lệnh gọi API Google Ads do một người quản lý thực hiện đến một 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 đó), 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 ngang (—). Ví dụ: 1234567890 chứ không phải 123-456-7890. Hãy 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 /v22/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_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 chỉ được [nhà cung cấp dịch vụ phân tích ứng dụng bên thứ ba sử dụng khi tải lượt chuyển đổi lên 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
developer-token: DEVELOPER_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID
linked-customer-id: LINKED_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 mã nhận dạng quan trọng cần có khi liên hệ với bộ phận hỗ trợ nhà phát triển của Google.

request-id: 2a5Cj89VV7CNhya1DZjjrC