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

Video: Xác thực

Bạn cần cả thông tin đăng nhập ứng dụng OAuth 2.0 và mã thông báo nhà phát triển khi gọi Google Ads API. 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 một 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

Google Ads API sử dụng thông tin xác thực ứng dụng để xác định và uỷ quyền các yêu cầu API. Bạn có thể định cấu hình cả ứng dụng OAuth 2.0 và tài khoản dịch vụ. Để biết thêm thông tin chi tiết về cách định cấu hình uỷ quyền phía máy khách, hãy xem bài viết OAuth2 trong API Google Ads.

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

Sử dụng quy trình ứng dụng dành cho máy tính hoặc ứng dụng web

Làm theo các bước để định cấu hình một dự án Google API Console cho API Google Ads. Ghi lại mã ứng dụng kháchkhoá bí mật của ứng dụng khách, sau đó quay lại trang này.

Sau khi tạo ứng dụng OAuth, hãy làm theo hướng dẫn về quy trình dành cho ứng dụng máy tính hoặc hướng dẫn về quy trình dành cho ứng dụng web để tạo mã làm mớimã truy cập.

Sử dụng tài khoản dịch vụ

Làm theo hướng dẫn chung trong hướng dẫn Tài khoản dịch vụ để thiết lập quyền truy cập tài khoản dịch vụ cho Google Ads API.

Sau khi bạn thiết lập tài khoản dịch vụ để truy cập vào tài khoản Google Ads, 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ủ, nhớ chọn thẻ HTTP/REST. scope để sử dụng cho quyền truy cập vào API Google Ads là https://www.googleapis.com/auth/adwords.

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

Sau khi có mã ứng dụng khách, khoá bí mật của ứng dụng kháchmã làm mới, 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ẽ 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 API Google Ads:

GET /v21/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. Bạn có thể đăng ký mã thông báo cho tài khoản người quản lý ngay trong giao diện người dùng Google Ads. Để biết thêm thông tin về cách thiết lập mã thông báo của nhà phát triển, hãy xem bài viết Lấy mã thông báo của nhà phát triển.

Bạn cần 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 đến API Google Ads:

GET /v21/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 người quản lý thực hiện cho 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 cho 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 ngang (—), ví dụ: 1234567890 chứ không phải 123-456-7890.

GET /v21/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 đề này 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 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
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 giá trị nhận dạng quan trọng mà bạn nên có sẵn khi liên hệ với bộ phận hỗ trợ nhà phát triển của Google.

request-id: 2a5Cj89VV7CNhya1DZjjrC