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 các ứng dụng, ví dụ: google_ads_php.ini.

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 fromFile để tải chế độ cài đặt qua 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 được cung cấp làm đối số, thì các phương thức fromFile sẽ tải từ đường dẫn tệp 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, 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 thực thể cho ứ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ợ nhiều 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 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ã của 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 giao thông.
    • [CONNECTION] grpcChannelIsSecure: Kênh gRPC có bảo mật hay không.
    • [CONNECTION] grpcChannelCredential: Thông tin đăng nhập kênh gRPC.
    • [CONNECTION] unaryMiddlewares: Phần mềm trung gian đơn phân.
    • [CONNECTION] streamingMiddlewares: Phần mềm trung gian phát trực tuyến.
    • [CONNECTION] grpcInterceptors: Các trình chặn gRPC.
  3. [GAPIC] useGapicV2Source: Liệu có sử dụng mã nguồn GAPIC phiên bản 2 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 thực thể hoá ứ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 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. 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à cấp nhật ký PSR hợp lệ bằng chữ cái viết hoa, chẳng hạn như INFO.
  8. Nếu được đặt, [CONNECTION] transport phải là grpc hoặc rest.
  9. Nếu bạn đặt [CONNECTION] transport thành grpc, thì công cụ truyền tải gRPC phải được môi trường hỗ trợ (xem hướng dẫn về cách di chuyển).
  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 đặt [CONNECTION] transport thành grpc.
  12. Bạn chỉ có thể đặt [CONNECTION] grpcChannelCredential khi [CONNECTION] grpcChannelIsSecuretrue.