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ụ 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á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 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ới và mã 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ụ 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ụng 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/tokenSau đó, 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