Yapılandırma

Google Ads API PHP istemci kitaplığı, kitaplık davranışını özelleştirmek için kullanabileceğiniz çeşitli yapılandırma ayarları sunar.

Yapılandırma dosyası

Bu yapılandırma ayarlarının çoğunu INI yapılandırma dosyalarında saklayabilir ve istemcileri oluştururken kullanabilirsiniz. Örneğin, google_ads_php.ini.

Hem kimlik bilgisi hem de istemci oluşturucular, bu tür dosyalardan ayarları yüklemek için fromFile yöntemleri sağlar:

$oAuth2Credential = (new OAuth2TokenBuilder())
    ->fromFile('/path/to/google_ads_php.ini')
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->fromFile('/path/to/google_ads_php.ini')
    ->withOAuth2Credential($oAuth2Credential)
    ->build();

Bağımsız değişken olarak yapılandırma yolu sağlanmamışsa fromFile yöntemleri, varsayılan yapılandırma yolundan yüklenir. Bu yol şudur:

  1. Ayarlanmışsa GOOGLE_ADS_CONFIGURATION_FILE_PATH adlı ortam değişkeninin değeri.
  2. Aksi takdirde, HOME dizininizdeki google_ads_php.ini dosyası.
$oAuth2Credential = (new OAuth2TokenBuilder())
    ->fromFile()
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->fromFile()
    ->withOAuth2Credential($oAuth2Credential)
    ->build();

Dinamik yapılandırma

Bu yapılandırma ayarlarını, istemcileri oluştururken dinamik olarak ayarlayabilirsiniz:

$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();

Yapılandırma ortam değişkenleri

İstemcileri oluştururken yapılandırma ayarlarının bazılarını ortam değişkenlerinden ayarlayabilirsiniz (bkz. standart ortam değişkenleri).

Hem kimlik bilgisi hem de istemci oluşturucular, ortam değişkenlerinden ayar yüklemek için fromEnvironmentVariables yöntemleri sağlar.

$oAuth2Credential = (new OAuth2TokenBuilder())
    // ...
    ->fromEnvironmentVariables()
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->withOAuth2Credential($oAuth2Credential)
    // ...
    ->fromEnvironmentVariables()
    ->build();

Yapılandırma alanları

Yapılandırma ayarları, kategoriler halinde düzenlenmiş çeşitli alanları destekler:

  1. OAuth2TokenBuilder tarafından kullanılan alanlar:
    • Uygulama modu:
      • [OAUTH2] clientId: OAuth2 istemci kimliğiniz.
      • [OAUTH2] clientSecret: OAuth2 istemci gizli anahtarınız.
      • [OAUTH2] refreshToken: OAuth2 yenileme jetonunuz.
    • Hizmet hesabı modu:
      • [OAUTH2] jsonKeyFilePath: JSON anahtar yolu.
      • [OAUTH2] scopes: OAuth2 kapsamları (v32.1.0 ve sonraki sürümlerde varsayılan olarak https://www.googleapis.com/auth/adwords; v32.1.0'den önceki sürümlerde veya özel kapsamlar kullanılırken zorunludur; fromEnvironmentVariables() tarafından bir ortam değişkeninden okunmaz).
      • [OAUTH2] impersonatedEmail: Google Workspace alan genelinde temsilci atama özelliği kullanılırken kimliğine bürünülecek isteğe bağlı e-posta adresi.
    • Uygulama Varsayılan Kimlik Bilgileri modu:
      • Ne uygulama modu ne de hizmet hesabı modu alanları ayarlanmadığında OAuth2TokenBuilder otomatik olarak Uygulama Varsayılan Kimlik Bilgileri'ne (ADC) geri döner.
  2. GoogleAdsClientBuilder tarafından kullanılan alanlar:
    • [GOOGLE_ADS] developerToken: (9 Eylül 2026'da kullanımdan kaldırılacak) Google Ads API geliştirici jetonunuz. İstemci kitaplığı sürümünden bağımsız olarak API sunucuları tarafından isteğe bağlıdır ve yoksayılır. Google Ads API'nin gelecekteki bir ana sürümünde reddedilecektir.
      • v35.0.0 ve sonraki sürümler: İstemci başlatılırken gerekli değildir (GoogleAdsClientBuilder, yerel istemci tarafı geliştirici jetonu doğrulamasını kaldırdı).
      • v35.0.0 sürümünden önceki sürümler: Yerel istemci tarafı yapılandırma doğrulaması için gereklidir.
    • [GOOGLE_ADS] loginCustomerId: İsteğin içinde kullanılacak yetkili müşterinin kimliği.
    • [GOOGLE_ADS] linkedCustomerId: Bağlı müşteri kimliği.
    • [GOOGLE_ADS] endpoint: İsteğe bağlı alternatif Google Ads API sunucu uç noktası.
    • [LOGGING] logFilePath: Günlük çıktısının yolu.
    • [LOGGING] logLevel: Günlük kaydı düzeyi.
    • [CONNECTION] proxy: İnternet bağlantısı için kullanılan proxy sunucusu URL'si.
    • [CONNECTION] transport: Ağ taşıma (grpc veya rest).
    • [CONNECTION] grpcChannelIsSecure: gRPC kanalının güvenli olup olmadığı.
    • [CONNECTION] grpcChannelCredential: gRPC kanalı kimlik bilgileri.
    • [CONNECTION] unaryMiddlewares: Tekli ara yazılımlar.
    • [CONNECTION] streamingMiddlewares: Yayın ara yazılımları.
    • [CONNECTION] grpcInterceptors: gRPC araya girenleri.

Yapılandırma doğrulama

Yapılandırma ayarları, istemciler oluşturulurken kontrol edilir ve geçersiz olduğunda istisnalar oluşturulur. Doğrulama kuralları şunlardır:

  1. [OAUTH2] alanları aynı anda hem uygulama modu hem de hizmet hesabı modu için ayarlanmamalıdır.
  2. Hizmet hesabı modu kullanılırken [OAUTH2] jsonKeyFilePath ayarlanmalıdır (v32.1.0'ten önceki sürümlerde [OAUTH2] scopes de ayarlanmalıdır; v32.1.0 ve sonraki sürümlerde scopes varsayılan olarak https://www.googleapis.com/auth/adwords olur).
  3. Uygulama modu kullanılırken [OAUTH2] clientId, [OAUTH2] clientSecret ve [OAUTH2] refreshToken ayarlanmalıdır.
  4. v35.0.0 sürümünden önceki sürümlerde [GOOGLE_ADS] developerToken, yerel istemci tarafı doğrulama ile kontrol edilir (v35.0.0 ve sonraki sürümlerde [GOOGLE_ADS] developerToken gerekli değildir).
  5. Ayarlanırsa [GOOGLE_ADS] loginCustomerId ve [GOOGLE_ADS] linkedCustomerId pozitif sayılar olmalıdır.
  6. Ayarlanırsa [CONNECTION] proxy geçerli bir URL olmalıdır (bkz. FILTER_VALIDATE_URL filtresi).
  7. Ayarlanırsa [LOGGING] logLevel, büyük harflerle yazılmış geçerli bir PSR günlük düzeyi olmalıdır (ör. INFO).
  8. Ayarlanırsa [CONNECTION] transport, grpc veya rest olmalıdır.
  9. [CONNECTION] transport, grpc olarak ayarlanmışsa gRPC aktarımı ortam tarafından desteklenmelidir (bkz. Aktarım kılavuzu).
  10. [CONNECTION] grpcChannelIsSecure, [CONNECTION] transport grpc olarak ayarlanmadığında true olmalıdır (REST bağlantıları her zaman HTTPS gerektirir).
  11. [CONNECTION] grpcChannelCredential yalnızca [CONNECTION] transport, grpc olarak ayarlandığında belirlenebilir.
  12. [CONNECTION] grpcChannelCredential yalnızca [CONNECTION] grpcChannelIsSecure, true olduğunda ayarlanabilir.