Cấu hình

Thư viện ứng dụng Google Ads API PHP cung cấp một số chế độ cài đặt cấu hình mà bạn có thể sử 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 các tệp ini và sử dụng các chế độ cài đặt đó khi tạo bản sao ứng dụng, ví dụ: google_ads_php.ini.

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

$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 GOOGLE_ADS_CONFIGURATION_FILE_PATH nếu được đặt.
  2. Nếu khô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')
    // ...
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->withOAuth2Credential($oAuth2Credential)
    ->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
    // ...
    ->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 bản sao ứng dụng (xem danh sách đầy đủ).

Trình tạo thông tin xác thực và ứ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();

Các 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: Mật khẩu ứng dụng OAuth2 của bạn.
      • [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 tệp khoá Json.
      • [OAUTH2] scopes: Phạm vi.
      • [OAUTH2] impersonatedEmail: Email để mạo danh.
  2. Các trường mà GoogleAdsClientBuilder sử dụng:
    • [GOOGLE_ADS] developerToken: Mã thông báo dành cho nhà phát triển để truy cập vào API.
    • [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.
    • [LOGGING] logFilePath: Đường dẫn tệp để ghi nhật ký.
    • [LOGGING] logLevel: Cấp độ ghi nhật ký.
    • [CONNECTION] proxy: URL máy chủ proxy dùng để kết nối Internet.
    • [CONNECTION] transport: Phương tiện vận tải.
    • [CONNECTION] grpcChannelIsSecure: Liệu kênh gRPC có an toàn hay không.
    • [CONNECTION] grpcChannelCredential: Thông tin xác thực kênh gRPC.
    • [CONNECTION] unaryMiddlewares: Lớp trung gian một ngôi.
    • [CONNECTION] streamingMiddlewares: Phần mềm trung gian truyền trực tuyến.
    • [CONNECTION] grpcInterceptors: Các 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 bản sao ứng dụng và các ngoại lệ sẽ được gửi khi không hợp lệ. Sau đây là các quy tắc:

  1. Bạn 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[OAUTH2] scopes khi sử dụng Chế độ tài khoản dịch vụ.
  3. Bạn phải đặt [OAUTH2] clientId, [OAUTH2] clientSecret[OAUTH2] refreshToken khi sử dụng Chế độ ứng dụng.
  4. Bạn phải luôn đặt [GOOGLE_ADS] developerToken.
  5. Nếu được đặt, [GOOGLE_ADS] loginCustomerId[GOOGLE_ADS] linkedCustomerId phải là số dương.
  6. Nếu được đặt, [CONNECTION] proxy phải là một URL hợp lệ (xem bộ lọc FILTER_VALIDATE_URL).
  7. Nếu được đặt, [LOGGING] logLevel phải là một cấp độ nhật ký PSR hợp lệ bằng chữ hoa, chẳng hạn như INFO.
  8. Nếu được đặt, [CONNECTION] transport phải là grpc hoặc rest.
  9. 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 transport).
  10. [CONNECTION] grpcChannelIsSecure phải là true khi không đặt [CONNECTION] transport thành grpc.
  11. Bạn chỉ có thể đặt [CONNECTION] grpcChannelCredential khi [CONNECTION] transport được đặt thành grpc.
  12. Bạn chỉ có thể đặt [CONNECTION] grpcChannelCredential khi [CONNECTION] grpcChannelIsSecuretrue.