Library klien PHP Google Ads API menyediakan beberapa setelan konfigurasi yang dapat Anda gunakan untuk menyesuaikan perilaku library.
File konfigurasi
Anda dapat menyimpan sebagian besar setelan konfigurasi ini dalam file konfigurasi INI dan menggunakannya saat membuat instance klien, misalnya, google_ads_php.ini.
Builder kredensial dan klien menyediakan metode fromFile untuk memuat setelan dari file tersebut:
$oAuth2Credential = (new OAuth2TokenBuilder())
->fromFile('/path/to/google_ads_php.ini')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->fromFile('/path/to/google_ads_php.ini')
->withOAuth2Credential($oAuth2Credential)
->build();
Jika tidak ada jalur konfigurasi yang diberikan sebagai argumen, metode fromFile
akan dimuat dari jalur konfigurasi default, yaitu:
- Nilai variabel lingkungan bernama
GOOGLE_ADS_CONFIGURATION_FILE_PATHjika ditetapkan. - Jika tidak, file
google_ads_php.inidi direktoriHOMEAnda.
$oAuth2Credential = (new OAuth2TokenBuilder())
->fromFile()
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->fromFile()
->withOAuth2Credential($oAuth2Credential)
->build();
Konfigurasi dinamis
Anda dapat menetapkan setelan konfigurasi ini secara dinamis saat membuat instance klien:
$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();
Variabel lingkungan konfigurasi
Anda dapat menetapkan beberapa setelan konfigurasi dari variabel lingkungan saat membuat instance klien (lihat variabel lingkungan standar).
Builder kredensial dan klien menyediakan metode fromEnvironmentVariables
untuk memuat setelan dari variabel lingkungan.
$oAuth2Credential = (new OAuth2TokenBuilder())
// ...
->fromEnvironmentVariables()
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
// ...
->fromEnvironmentVariables()
->build();
Kolom konfigurasi
Setelan konfigurasi mendukung beberapa kolom yang diatur dalam kategori:
- Kolom yang digunakan oleh
OAuth2TokenBuilder:- Mode aplikasi:
[OAUTH2] clientId: Client ID OAuth2 Anda.[OAUTH2] clientSecret: Rahasia klien OAuth2 Anda.[OAUTH2] refreshToken: Token refresh OAuth2 Anda.
- Mode akun layanan:
[OAUTH2] jsonKeyFilePath: Jalur kunci JSON.[OAUTH2] scopes: Cakupan OAuth2 (secara default ditetapkan kehttps://www.googleapis.com/auth/adwordsdiv32.1.0dan yang lebih baru; diperlukan dalam versi sebelumv32.1.0atau saat menggunakan cakupan kustom; tidak dibaca dari variabel lingkungan olehfromEnvironmentVariables()).[OAUTH2] impersonatedEmail: Alamat email opsional untuk ditiru identitasnya saat menggunakan delegasi di seluruh domain Google Workspace.
- Mode Kredensial Default Aplikasi:
- Jika kolom Application mode atau Service account mode tidak ditetapkan,
OAuth2TokenBuilderakan otomatis beralih ke Kredensial Default Aplikasi (ADC).
- Jika kolom Application mode atau Service account mode tidak ditetapkan,
- Mode aplikasi:
- Kolom yang digunakan oleh
GoogleAdsClientBuilder:[GOOGLE_ADS] loginCustomerId: ID pelanggan yang diberi otorisasi untuk digunakan dalam permintaan.[GOOGLE_ADS] linkedCustomerId: ID pelanggan tertaut.[GOOGLE_ADS] endpoint: Endpoint server Google Ads API alternatif opsional.[LOGGING] logFilePath: Jalur untuk output logging.[LOGGING] logLevel: Level logging.[CONNECTION] proxy: URL server proxy yang digunakan untuk konektivitas internet.[CONNECTION] transport: Transportasi jaringan (grpcataurest).[CONNECTION] grpcChannelIsSecure: Apakah saluran gRPC aman.[CONNECTION] grpcChannelCredential: Kredensial saluran gRPC.[CONNECTION] unaryMiddlewares: Middleware unary.[CONNECTION] streamingMiddlewares: Middleware streaming.[CONNECTION] grpcInterceptors: Interseptor gRPC.
Validasi konfigurasi
Setelan konfigurasi diperiksa saat membuat instance klien dan pengecualian akan ditampilkan jika tidak valid. Aturan validasinya adalah sebagai berikut:
- Kolom
[OAUTH2]tidak boleh ditetapkan untuk mode Aplikasi dan mode Akun layanan secara bersamaan. [OAUTH2] jsonKeyFilePathharus ditetapkan saat menggunakan mode Akun layanan (dalam versi sebelumv32.1.0,[OAUTH2] scopesjuga harus ditetapkan; dalamv32.1.0dan yang lebih baru,scopesditetapkan secara default kehttps://www.googleapis.com/auth/adwords).[OAUTH2] clientId,[OAUTH2] clientSecret, dan[OAUTH2] refreshTokenharus ditetapkan saat menggunakan mode Aplikasi.- Jika ditetapkan,
[GOOGLE_ADS] loginCustomerIddan[GOOGLE_ADS] linkedCustomerIdharus berupa bilangan positif. - Jika ditetapkan,
[CONNECTION] proxyharus berupa URL yang valid (lihat filterFILTER_VALIDATE_URL). - Jika ditetapkan,
[LOGGING] logLevelharus berupa tingkat log PSR yang valid dalam huruf kapital, sepertiINFO. - Jika ditetapkan,
[CONNECTION] transportharus berupagrpcataurest. - Jika
[CONNECTION] transportditetapkan kegrpc, transport gRPC harus didukung oleh lingkungan (lihat Panduan transport). [CONNECTION] grpcChannelIsSecureharus berupatruejika[CONNECTION] transporttidak ditetapkan kegrpc(koneksi REST selalu memerlukan HTTPS).[CONNECTION] grpcChannelCredentialhanya dapat ditetapkan jika[CONNECTION] transportditetapkan kegrpc.[CONNECTION] grpcChannelCredentialhanya dapat ditetapkan jika[CONNECTION] grpcChannelIsSecureadalahtrue.