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 quyền truy cập Google Ads API 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. Điều 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 những 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.v.

  • Quyền truy cập vào tài khoản Google Ads không gắn liền 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 quyền truy cập dự kiến sẽ tiếp tục 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 xác thực.

    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ị > 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 hộp nhập Email. Chọn cấp truy cập tài khoản phù hợp rồi nhấp vào nút Thêm 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 Email và cấp truy cập Quản trị viên.

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

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.

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 OAuth2ModeOAuth2SecretsJsonPath trên thực thể GoogleAdsConfig rồi dùng thực thể này để khởi tạo đối tượng GoogleAdsClient.

GoogleAdsConfig config = new GoogleAdsConfig()
{
    OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
    OAuth2SecretsJsonPath = "PATH_TO_JSON_SECRETS_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 google-ads.yaml file, chuỗi YAML hoặc dict, hãy thêm những 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:

export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH

PHP

Định cấu hình các khoá sau trong google_ads_php.ini. Hãy xem hướng dẫn về cấu hình để biết thêm thông tin chi tiết.

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

Ruby

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

c.keyfile = 'JSON_KEY_FILE_PATH'

Perl

Đặt đường dẫn JSON khoá riêng tư và mã nhận dạng tài khoản uỷ quyền 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:

export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH

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=PATH_TO_CREDENTIALS_JSON

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'

Giờ đây, 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/v21/customers/CUSTOMER_ID/googleAds:searchStream \
   -H "Content-Type: application/json" \
   -H "Authorization: Bearer ACCESS_TOKEN" \
   -H "developer-token: DEVELOPER_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"
}