Cấu hình

Thư viện ứng dụng PHP 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ể lưu trữ hầu hết các chế độ cài đặt cấu hình này trong tệp cấu hình INI và sử dụng chúng khi tạo thực thể cho ứng dụng, ví dụ: google_ads_php.ini.

Cả trình tạo thông tin xác thực và trình tạo ứng dụng đều cung cấp các phương thức fromFile để tải chế độ cài đặt từ các tệp đó:

$oAuth2Credential = (new OAuth2TokenBuilder())
    ->fromFile('/path/to/google_ads_php.ini')
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->fromFile('/path/to/google_ads_php.ini')
    ->withOAuth2Credential($oAuth2Credential)
    ->build();

Nếu không có đường dẫn cấu hình nào được cung cấp dưới dạng đối số, thì các phương thức fromFile sẽ tải từ đường dẫn cấu hình mặc định, đó là:

  1. Giá trị của biến môi trường có tên là GOOGLE_ADS_CONFIGURATION_FILE_PATH nếu được đặt.
  2. Nếu không, hãy dùng tệp google_ads_php.ini trong thư mục HOME.
$oAuth2Credential = (new OAuth2TokenBuilder())
    ->fromFile()
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->fromFile()
    ->withOAuth2Credential($oAuth2Credential)
    ->build();

Cấu hình động

Bạn có thể đặt các chế độ cài đặt cấu hình này một cách linh động khi tạo thực thể cho ứng dụng:

$oAuth2Credential = (new OAuth2TokenBuilder())
    ->withClientId('INSERT_CLIENT_ID_HERE')
    ->withClientSecret('INSERT_CLIENT_SECRET_HERE')
    ->withRefreshToken('INSERT_REFRESH_TOKEN_HERE')
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->withOAuth2Credential($oAuth2Credential)
    ->build();

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 tạo thực thể cho ứng dụng (xem biến môi trường tiêu chuẩn).

Cả trình tạo thông tin xác thực và trình tạo ứng dụng đều cung cấp các phương thức fromEnvironmentVariables để tải chế độ cài đặt từ các biến môi trường.

$oAuth2Credential = (new OAuth2TokenBuilder())
    // ...
    ->fromEnvironmentVariables()
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->withOAuth2Credential($oAuth2Credential)
    // ...
    ->fromEnvironmentVariables()
    ->build();

Trường cấu hình

Chế độ cài đặt cấu hình hỗ trợ một số trường được sắp xếp theo danh mục:

  1. Các trường mà OAuth2TokenBuilder sử dụng:
    • Chế độ ứng dụng:
      • [OAUTH2] clientId: Mã ứng dụng khách OAuth2 của bạn.
      • [OAUTH2] clientSecret: Khoá bí mật của ứng dụng khách OAuth2.
      • [OAUTH2] refreshToken: Mã làm mới OAuth2 của bạn.
    • Chế độ tài khoản dịch vụ:
      • [OAUTH2] jsonKeyFilePath: Đường dẫn khoá JSON.
      • [OAUTH2] scopes: Phạm vi OAuth2 (mặc định là https://www.googleapis.com/auth/adwords trong v32.1.0 trở lên; bắt buộc trong các phiên bản trước v32.1.0 hoặc khi sử dụng phạm vi tuỳ chỉnh; không được đọc từ biến môi trường bằng fromEnvironmentVariables()).
      • [OAUTH2] impersonatedEmail: Địa chỉ email không bắt buộc để mạo danh khi sử dụng tính năng uỷ quyền trên toàn miền của Google Workspace.
    • Chế độ Thông tin xác thực mặc định của ứng dụng:
      • Khi bạn không đặt cả trường Chế độ ứng dụng và Chế độ tài khoản dịch vụ, OAuth2TokenBuilder sẽ tự động quay lại Thông tin xác thực mặc định của ứng dụng (ADC).
  2. Các trường mà GoogleAdsClientBuilder sử dụng:
    • [GOOGLE_ADS] loginCustomerId: Mã nhận dạng của khách hàng được uỷ quyền để sử dụng trong yêu cầu.
    • [GOOGLE_ADS] linkedCustomerId: Mã khách hàng được liên kết.
    • [GOOGLE_ADS] endpoint: Điểm cuối máy chủ Google Ads API thay thế (không bắt buộc).
    • [LOGGING] logFilePath: Đường dẫn để ghi nhật ký đầu ra.
    • [LOGGING] logLevel: Cấp độ ghi nhật ký.
    • [CONNECTION] proxy: URL máy chủ proxy dùng để kết nối Internet.
    • [CONNECTION] transport: Giao thức truyền tải mạng (grpc hoặc rest).
    • [CONNECTION] grpcChannelIsSecure: Cho biết kênh gRPC có an toàn hay không.
    • [CONNECTION] grpcChannelCredential: Thông tin xác thực kênh gRPC.
    • [CONNECTION] unaryMiddlewares: Phần mềm trung gian một ngôi.
    • [CONNECTION] streamingMiddlewares: Phần mềm trung gian truyền trực tuyến.
    • [CONNECTION] grpcInterceptors: Trình chặn gRPC.

Xác thực cấu hình

Các chế độ cài đặt cấu hình được kiểm tra khi tạo thực thể cho ứng dụng và các ngoại lệ sẽ được gửi khi không hợp lệ. Quy tắc xác thực như sau:

  1. Không được đặt các trường [OAUTH2] cho cả Chế độ ứng dụng và Chế độ tài khoản dịch vụ cùng một lúc.
  2. Bạn phải đặt [OAUTH2] jsonKeyFilePath khi sử dụng chế độ Tài khoản dịch vụ (trong các phiên bản trước v32.1.0, bạn cũng phải đặt [OAUTH2] scopes; trong v32.1.0 trở lên, scopes mặc định là https://www.googleapis.com/auth/adwords).
  3. [OAUTH2] clientId, [OAUTH2] clientSecret và [OAUTH2] refreshToken phải được đặt khi sử dụng Chế độ ứng dụng.
  4. Nếu được đặt, [GOOGLE_ADS] loginCustomerId và [GOOGLE_ADS] linkedCustomerId phải là số dương.
  5. Nếu được đặt, [CONNECTION] proxy phải là một URL hợp lệ (xem bộ lọc FILTER_VALIDATE_URL).
  6. Nếu được đặt, [LOGGING] logLevel phải là một cấp độ nhật ký PSR hợp lệ bằng chữ in hoa, chẳng hạn như INFO.
  7. Nếu được đặt, [CONNECTION] transport phải là grpc hoặc rest.
  8. Nếu [CONNECTION] transport được đặt thành grpc, thì môi trường phải hỗ trợ phương thức truyền tải gRPC (xem Hướng dẫn về phương thức truyền tải).
  9. [CONNECTION] grpcChannelIsSecure phải là true khi [CONNECTION] transport không được đặt thành grpc (kết nối REST luôn yêu cầu HTTPS).
  10. Bạn chỉ có thể đặt [CONNECTION] grpcChannelCredential khi [CONNECTION] transport được đặt thành grpc.
  11. Bạn chỉ có thể đặt [CONNECTION] grpcChannelCredential khi [CONNECTION] grpcChannelIsSecure là true.