Cấu hình

Thư viện ứng dụng Perl của Google Ads API cung cấp một số chế độ cài đặt cấu hình mà bạn có thể dùng để tuỳ chỉnh hành vi của thư viện.

Tệp cấu hình

Bạn có thể chỉ định một tệp googleads.properties để sử dụng khi tạo thực thể cho ứng dụng.

Nếu bạn không sử dụng đối số nào khi khởi tạo:

my $api_client = Google::Ads::GoogleAds::Client->new();

thì thư viện sẽ tìm tệp trong thư mục HOME hoặc tại đường dẫn được chỉ định trong biến môi trường GOOGLE_ADS_CONFIGURATION_FILE_PATH nếu được đặt.

Ngoài ra, bạn có thể chỉ định một đường dẫn một cách rõ ràng:

my $properties_file = "/path/to/googleads.properties";

my $api_client = Google::Ads::GoogleAds::Client->new({
  properties_file => $properties_file,
});

trong trường hợp đó, ứng dụng sẽ tìm tệp theo đường dẫn đó.

Cách dễ nhất để tạo tệp này là sao chép googleads.properties từ kho lưu trữ GitHub rồi sửa đổi tệp đó để thêm mã ứng dụng khách, khoá bí mật của ứng dụng khách và mã làm mới.

Cấu hình động

Bạn có thể thiết lập cấu hình một cách linh động khi khởi tạo thư viện hoặc sau khi khởi tạo:

my $api_client = Google::Ads::GoogleAds::Client->new({
  login_customer_id => "INSERT_LOGIN_CUSTOMER_ID_HERE",
});

Bạn cũng có thể sửa đổi cấu hình sau khi khởi tạo:

$api_client->set_login_customer_id("INSERT_LOGIN_CUSTOMER_ID_HERE");

Bạn cũng có thể nhận đối tượng OAuth2ApplicationsHandler từ thực thể Client và thay đổi mã ứng dụng khách, khoá bí mật của ứng dụng khách và mã làm mới tại thời gian chạy:

my $oauth2_applications_handler =
  $api_client->get_oauth2_applications_handler();
$oauth2_applications_handler->set_client_id("INSERT_CLIENT_ID_HERE");
$oauth2_applications_handler->set_client_secret("INSERT_CLIENT_SECRET_HERE");
$oauth2_applications_handler->set_refresh_token("INSERT_REFRESH_TOKEN_HERE");

Biến môi trường cấu hình

Bạn có thể đặt một số chế độ cài đặt cấu hình từ các biến môi trường khi khởi tạo các ứng dụng (xem các biến môi trường tiêu chuẩn).

Mô-đun Client cung cấp hàm configure_from_environment_variables để tải các giá trị từ biến môi trường.

# Get the Google Ads API Client. By default, any credentials are read from
# ~/googleads.properties, or, if set, from the file specified in the
# GOOGLE_ADS_CONFIGURATION_FILE_PATH environment variable.
my $api_client = Google::Ads::GoogleAds::Client->new();

# Load the configuration from any set environment variables.
$api_client->configure_from_environment_variables();

Trường cấu hình

Lưu ý rằng các khoá googleads.properties sử dụng camelCase (chẳng hạn như loginCustomerId và linkedCustomerId), trong khi các đối số của hàm khởi tạo Client->new({...}) và phương thức trình xử lý sử dụng snake_case (chẳng hạn như login_customer_id và linked_customer_id).

Các trường được duy trì trong OAuth2ApplicationsHandler:

  • client_id (clientId trong googleads.properties, GOOGLE_ADS_CLIENT_ID): Mã ứng dụng OAuth2 của bạn.
  • client_secret (clientSecret trong googleads.properties, GOOGLE_ADS_CLIENT_SECRET): Khoá bí mật của ứng dụng OAuth2.
  • refresh_token (refreshToken trong googleads.properties, GOOGLE_ADS_REFRESH_TOKEN): Mã làm mới OAuth2 của bạn.
  • additional_scopes (additionalScopes trong googleads.properties): Các phạm vi OAuth2 bổ sung cần yêu cầu.

Các trường được duy trì trong OAuth2ServiceAccountsHandler:

  • json_key_file_path (jsonKeyFilePath trong googleads.properties, GOOGLE_ADS_JSON_KEY_FILE_PATH): Đường dẫn đến tệp khoá JSON của tài khoản dịch vụ.
  • impersonated_email (impersonatedEmail trong googleads.properties, GOOGLE_ADS_IMPERSONATED_EMAIL): Địa chỉ email cần mạo danh khi sử dụng tính năng uỷ quyền trên toàn miền của Google Workspace.
  • additional_scopes (additionalScopes trong googleads.properties): Các phạm vi OAuth2 bổ sung cần yêu cầu.

Các trường được duy trì trong Client:

  • developer_token (developerToken ở googleads.properties, GOOGLE_ADS_DEVELOPER_TOKEN): (Ngừng hoạt động vào ngày 9 tháng 9 năm 2026) Mã của nhà phát triển Google Ads API. Không bắt buộc, máy chủ API sẽ bỏ qua bất kể phiên bản thư viện ứng dụng nào và sẽ bị từ chối trong phiên bản lớn sau này của Google Ads API.
    • v35.0.0 trở lên: Không bắt buộc khi khởi tạo ứng dụng (đã xoá quy trình xác thực developerToken phía máy khách cục bộ trong v35.0.0).
    • Các phiên bản trước v35.0.0: Bắt buộc phải có quy trình xác thực cấu hình phía máy khách cục bộ nếu bạn chưa nâng cấp lên phiên bản v35.0.0 trở lên.
  • login_customer_id (loginCustomerId trong googleads.properties, GOOGLE_ADS_LOGIN_CUSTOMER_ID): Mã của tài khoản người quản lý được dùng để truy cập vào tài khoản khách hàng. Hãy xem tài liệu về login-customer-id.
  • linked_customer_id (linkedCustomerId trong googleads.properties, GOOGLE_ADS_LINKED_CUSTOMER_ID): Mã khách hàng được liên kết.
  • service_address (serviceAddress trong googleads.properties, GOOGLE_ADS_ENDPOINT): URL địa chỉ dịch vụ Google Ads API (mặc định là "https://googleads.googleapis.com").
  • user_agent (userAgent trong googleads.properties, GOOGLE_ADS_PERL_USER_AGENT): Tiền tố tiêu đề user-agent tuỳ chỉnh có trong các yêu cầu HTTP.
  • proxy (proxy trong googleads.properties, GOOGLE_ADS_PERL_PROXY): URL của máy chủ proxy dùng để kết nối Internet.
  • version (Client->new hoặc set_version): Mô-đun phiên bản Google Ads API cần sử dụng (mặc định là "V25").
  • die_on_faults (Client->new hoặc set_die_on_faults): Đặt thành 1 để phương thức dịch vụ gọi die() bằng tải trọng phản hồi thô khi có lỗi API thay vì trả về đối tượng Google::Ads::GoogleAds::GoogleAdsException (mặc định là 0).
  • http_timeout (Client->new hoặc set_http_timeout): Thời gian chờ HTTP tính bằng giây (mặc định là 3600).
  • http_retry_timing (Client->new hoặc set_http_retry_timing): Khoảng thời gian tạm dừng thử lại tính bằng giây cho các lỗi HTTP 503 và 504 tạm thời (mặc định là "5,10,15").