Cấu hình

Thư viện ứng dụng PHP API Google Ads cung cấp một số chế độ cài đặt cấu hình mà bạn có thể dùng để tuỳ chỉnh hoạt động 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 ini và sử dụng các chế độ đó khi tạo thực thể cho ứng dụng, chẳng hạn như 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 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 tệp cấu hình nào được cung cấp làm đối số, các phương thức fromFile sẽ tải từ đường dẫn tệp cấu hình mặc định:

  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, 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ể linh động thiết lập các chế độ cài đặt cấu hình này khi tạo thực thể ứ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 định 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ể ứng dụng (xem danh sách đầy đủ).

Cả trình tạo thông tin xác thực và trình tạo ứng dụng đều cung cấp 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: Mật khẩu ứng dụng khách 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 giả mạo.
  2. Các trường mà GoogleAdsClientBuilder sử dụng:
    • [GOOGLE_ADS] developerToken: Mã của nhà phát triển để truy cập 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 giao thông.
    • [CONNECTION] grpcChannelIsSecure: Kênh gRPC có an toàn hay không.
    • [CONNECTION] grpcChannelCredential: Thông tin đăng nhập kênh gRPC.
    • [CONNECTION] unaryMiddlewares: Phần mềm trung gian đơn nguyên.
    • [CONNECTION] streamingMiddlewares: Phần mềm trung gian truyền trực tuyến.
    • [CONNECTION] grpcInterceptors: Ứng dụng chặn gRPC.
  3. [GAPIC] useGapicV2Source: Liệu có sử dụng mã nguồn GAPIC v2 khi tạo ứng dụng dịch vụ hay không.

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ể ứng dụng và ngoại lệ được gửi khi không hợp lệ. Sau đây là các quy tắc:

  1. Bạn không được đặt 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ệ ở dạng chữ cái viết hoa, chẳng hạn như INFO.
  8. Nếu được đặt thì [CONNECTION] transport phải là grpc hoặc rest.
  9. Nếu bạn đặt [CONNECTION] transport thành grpc, thì phương thức truyền tải gRPC phải được môi trường hỗ trợ (xem hướng dẫn về truyền tải).
  10. [CONNECTION] grpcChannelIsSecure phải là true khi [CONNECTION] transport không được đặt thành grpc.
  11. Bạn chỉ có thể đặt [CONNECTION] grpcChannelCredential khi đặt [CONNECTION] transport thành grpc.
  12. Bạn chỉ có thể đặt [CONNECTION] grpcChannelCredential khi [CONNECTION] grpcChannelIsSecuretrue.