Quy trình tài khoản dịch vụ

Hướng dẫn này thảo luận về cách truy cập vào API Google Ads bằng tài khoản dịch vụ.

Tài khoản dịch vụ là tài khoản thuộc về ứng dụng của bạn chứ không phải thuộc về người dùng cuối cá nhân. Tài khoản dịch vụ sử dụng một quy trình OAuth 2.0 không yêu cầu sự cho phép của con người, thay vào đó sử dụng một tệp khoá mà chỉ ứng dụng của bạn mới có thể truy cập.

Việc sử dụng tài khoản dịch vụ mang lại 2 lợi ích chính:

  • Việc uỷ quyền cho Google Ads API truy cập vào tài khoản Google Ads được thực hiện như một bước cấu hình, tận dụng các tính năng uỷ quyền và quản lý tài khoản do giao diện người dùng Google Ads cung cấp. Việc này giúp nhà phát triển tiết kiệm công sức vì không phải xây dựng các quy trình OAuth 2.0 và giải quyết các vấn đề phức tạp liên quan đến hoạt động tương tác của người dùng, lưu trữ thông tin đăng nhập của người dùng và quản lý mã thông báo.

  • Quyền truy cập vào tài khoản Google Ads không liên kết với thông tin đăng nhập của từng người dùng. Điều này có thể hữu ích trong trường hợp bạn muốn quyền truy cập tiếp tục được duy trì ngay cả khi nhân viên ban đầu cấp quyền truy cập rời khỏi nhóm hoặc công ty.

Thiết lập quyền truy cập vào tài khoản

  1. Bắt đầu bằng cách tạo tài khoản dịch vụ và thông tin đăng nhập.

    Tải khoá tài khoản dịch vụ xuống ở định dạng JSON và ghi lại mã nhận dạng cũng như email của tài khoản dịch vụ.

  2. Đăng nhập vào tài khoản Google Ads với tư cách là quản trị viên. Chuyển đến mục Quản trị viên > Quyền truy cập và bảo mật.

  3. Nhấp vào nút + trong thẻ Người dùng.

  4. Nhập địa chỉ email của tài khoản dịch vụ vào ô nhập dữ liệu Email. Chọn cấp truy cập phù hợp cho tài khoản (xin lưu ý rằng tài khoản dịch vụ không hỗ trợ cấp truy cập Chỉ email) rồi nhấp vào nút Thêm tài khoản.

  5. Tài khoản dịch vụ được cấp quyền truy cập.

  6. Không bắt buộc: Theo mặc định, bạn không thể cấp quyền quản trị cho tài khoản dịch vụ. Tuân theo nguyên tắc về đặc quyền tối thiểu và chỉ cấp quyền truy cập của quản trị viên nếu các lệnh gọi API của bạn yêu cầu quyền này. Bạn có thể nâng cấp quyền truy cập như sau:

    • Nhấp vào mũi tên thả xuống bên cạnh cấp truy cập của tài khoản dịch vụ trong cột Cấp truy cập.
    • Chọn Quản trị viên trong danh sách thả xuống.

Cấu hình thư viện ứng dụng

Chọn thẻ tương ứng với ngôn ngữ lập trình của bạn để xem hướng dẫn về cách định cấu hình thư viện ứng dụng. Nếu tài khoản dịch vụ của bạn truy cập vào tài khoản khách hàng thông qua tài khoản người quản lý Google Ads (MCC), hãy đặt login-customer-id (hoặc loginCustomerId) thành mã khách hàng gồm 10 chữ số của tài khoản người quản lý đó mà không có dấu gạch ngang (xem Mã khách hàng đăng nhập).

Java

Đặt đường dẫn JSON khoá riêng tư trong cấu hình của bạn. Nếu bạn đang sử dụng tệp ads.properties, hãy thêm nội dung sau:

api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH

Hãy xem hướng dẫn định cấu hình để biết thêm thông tin chi tiết.

.NET

Đặt OAuth2Mode và OAuth2SecretsJsonPath trên thực thể GoogleAdsConfig rồi dùng thực thể đó để khởi tạo đối tượng GoogleAdsClient.

GoogleAdsConfig config = new GoogleAdsConfig()
{
    OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
    OAuth2SecretsJsonPath = "JSON_KEY_FILE_PATH",
    // ...
};
GoogleAdsClient client = new GoogleAdsClient(config);

Hãy xem hướng dẫn định cấu hình để biết thêm thông tin chi tiết.

Python

Đặt đường dẫn JSON khoá riêng tư trong cấu hình của bạn. Nếu bạn đang sử dụng tệp google-ads.yaml, chuỗi YAML hoặc dict, hãy thêm nội dung sau:

json_key_file_path: JSON_KEY_FILE_PATH

Nếu bạn đang sử dụng các biến môi trường, hãy thêm nội dung sau vào cấu hình hoặc môi trường Bash của bạn:

export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH

Hãy xem hướng dẫn định cấu hình để biết thêm thông tin chi tiết.

PHP

Định cấu hình các khoá sau trong tệp google_ads_php.ini.

[OAUTH2]
; For service account flow.
jsonKeyFilePath = "JSON_KEY_FILE_PATH"
scopes = "https://www.googleapis.com/auth/adwords"

Hãy xem hướng dẫn định cấu hình để biết thêm thông tin chi tiết.

Ruby

Định cấu hình các khoá sau trong google_ads_config.rb.

c.keyfile = 'JSON_KEY_FILE_PATH'

Hãy xem hướng dẫn định cấu hình để biết thêm thông tin chi tiết.

Perl

Đặt đường dẫn JSON khoá riêng tư trong cấu hình của bạn. Nếu bạn đang sử dụng tệp googleads.properties, hãy thêm nội dung sau:

jsonKeyFilePath=JSON_KEY_FILE_PATH

Nếu bạn đang sử dụng các biến môi trường, hãy thêm nội dung sau vào cấu hình hoặc môi trường Bash của bạn:

export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH

Hãy xem hướng dẫn định cấu hình để biết thêm thông tin chi tiết.

curl

Bắt đầu bằng cách đặt tài khoản dịch vụ làm thông tin đăng nhập đang hoạt động trong giao diện dòng lệnh gcloud.

gcloud auth login --cred-file=JSON_KEY_FILE_PATH

Tiếp theo, hãy tìm nạp mã truy cập OAuth 2.0 cho Google Ads API.

gcloud auth \
  print-access-token \
  --scopes='https://www.googleapis.com/auth/adwords'

Bạn có thể sử dụng mã truy cập trong các lệnh gọi API. Ví dụ sau đây cho thấy cách chạy báo cáo chiến dịch bằng phương thức GoogleAdsService.SearchStream để truy xuất các chiến dịch trong tài khoản của bạn. Hướng dẫn này không đề cập đến thông tin chi tiết về báo cáo.

curl -i -X POST \
  https://googleads.googleapis.com/v25/customers/CUSTOMER_ID/googleAds:searchStream \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "login-customer-id: LOGIN_CUSTOMER_ID" \
  --data-binary "@query.json"

Nội dung của query.json như sau:

{
  "query": "SELECT campaign.id, campaign.name, campaign.network_settings.target_content_network FROM campaign ORDER BY campaign.id"
}