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 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 ini và sử dụng chúng khi tạo thực thể cho ứ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 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ố, thì fromFile các phương thức 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 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ể khách hàng (xem bài viết đầy đủ danh sách).

Trình tạo thông tin xác thực và trình tạo ứng dụng đều cung cấp 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: ID của người được uỷ quyền khách hàng 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 thì 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: Có sử dụng nguồn GAPIC phiên bản 2 hay không khi tạo ứng dụng dịch vụ.

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

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

  1. Không được đặt các trường [OAUTH2] cho cả Chế độ ứng dụng và Dịch vụ Chế độ tài khoản cùng 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. [OAUTH2] clientId, [OAUTH2] clientSecret[OAUTH2] refreshToken phải 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à nhật ký PSR hợp lệ cấp độ trong 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ì quá trình truyền tải gRPC phải được được môi trường hỗ trợ (xem hướng dẫn phương tiện giao thông).
  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.