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ể 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 các ứng dụng, ví dụ: google_ads_php.ini.
Trình tạo thông tin đăng nhập 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 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à:
- Giá trị của biến môi trường có tên là
GOOGLE_ADS_CONFIGURATION_FILE_PATH(nếu được đặt). - Nếu không, tệp
google_ads_php.inisẽ nằm trong thư mụcHOME.
$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 các ứ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 khởi tạo các ứng dụng (xem các biến môi trường tiêu chuẩn).
Cả trình tạo thông tin đăng nhập 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:
- Các trường mà
OAuth2TokenBuildersử dụng:- Chế độ ứng dụng:
[OAUTH2] clientId: Mã ứng dụng OAuth2 của bạn.[OAUTH2] clientSecret: Khoá bí mật của ứng dụng 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: Các phạm vi OAuth2 (mặc định làhttps://www.googleapis.com/auth/adwordstrongv32.1.0trở lên; bắt buộc trong các phiên bản trướcv32.1.0hoặc khi sử dụng các phạm vi tuỳ chỉnh;fromEnvironmentVariables()không đọc từ biến môi trường).[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 trường Chế độ ứng dụng và trường Chế độ tài khoản dịch vụ,
OAuth2TokenBuildersẽ tự động quay lại Thông tin đăng nhập mặc định của ứng dụng (ADC).
- Khi bạn không đặt trường Chế độ ứng dụng và trường Chế độ tài khoản dịch vụ,
- Chế độ ứng dụng:
- Các trường mà
GoogleAdsClientBuildersử dụng:[GOOGLE_ADS] developerToken: (Ngừng hoạt động vào ngày 9 tháng 9 năm 2026) Mã thông báo nhà phát triển Google Ads API. Không bắt buộc, máy chủ API sẽ bỏ qua bất kể phiên bản thư viện ứng dụng và sẽ bị từ chối trong phiên bản lớn sau này của Google Ads API.v35.0.0trở lên: Không bắt buộc khi khởi động ứng dụng (GoogleAdsClientBuilderđã xoá quy trình xác thực mã của nhà phát triển phía máy khách cục bộ).- Các phiên bản trước
v35.0.0: Bắt buộc phải có quy trình xác thực cấu hình phía máy khách cục bộ.
[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 cho đầu ra ghi nhật ký.[LOGGING] logLevel: Cấp ghi nhật ký.[CONNECTION] proxy: URL của máy chủ proxy dùng để kết nối Internet.[CONNECTION] transport: Phương thức truyền tải mạng (grpchoặcrest).[CONNECTION] grpcChannelIsSecure: Liệu kênh gRPC có an toàn hay không.[CONNECTION] grpcChannelCredential: Thông tin đăng nhập kênh gRPC.[CONNECTION] unaryMiddlewares: Các phần mềm trung gian đơn nguyên.[CONNECTION] streamingMiddlewares: Các phần mềm trung gian truyền phát trực tiếp.[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 sẽ được kiểm tra khi khởi tạo các ứng dụng và ngoại lệ sẽ được đưa ra khi không hợp lệ. Các quy tắc xác thực như sau:
- 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. - Bạn phải đặt
[OAUTH2] jsonKeyFilePathkhi sử dụng chế độ Tài khoản dịch vụ (trong các phiên bản trướcv32.1.0, bạn cũng phải đặt[OAUTH2] scopes; trongv32.1.0trở lên,scopesmặc định làhttps://www.googleapis.com/auth/adwords). - Bạn phải đặt
[OAUTH2] clientId,[OAUTH2] clientSecretvà[OAUTH2] refreshTokenkhi sử dụng chế độ Ứng dụng. - Trong các phiên bản trước
v35.0.0,[GOOGLE_ADS] developerTokenđược kiểm tra bằng quy trình xác thực phía máy khách cục bộ (trongv35.0.0trở lên,[GOOGLE_ADS] developerTokenkhông bắt buộc). - Nếu được đặt,
[GOOGLE_ADS] loginCustomerIdvà[GOOGLE_ADS] linkedCustomerIdphải là số dương. - Nếu được đặt,
[CONNECTION] proxyphải là một URL hợp lệ (xem bộ lọcFILTER_VALIDATE_URL). - Nếu được đặt,
[LOGGING] logLevelphải là một cấp nhật ký PSR hợp lệ bằng chữ in hoa, chẳng hạn nhưINFO. - Nếu được đặt,
[CONNECTION] transportphải làgrpchoặcrest. - Nếu
[CONNECTION] transportđược đặt thànhgrpc, 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). [CONNECTION] grpcChannelIsSecurephải làtruekhi[CONNECTION] transportkhông được đặt thànhgrpc(các kết nối REST luôn yêu cầu HTTPS).- Bạn chỉ có thể đặt
[CONNECTION] grpcChannelCredentialkhi[CONNECTION] transportđược đặt thànhgrpc. - Bạn chỉ có thể đặt
[CONNECTION] grpcChannelCredentialkhi[CONNECTION] grpcChannelIsSecurelàtrue.