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 depolayabilir ve istemcileri örneklendirirken kullanabilirsiniz (ör. google_ads_php.ini).

Kimlik bilgisi ve istemci oluşturucular, bu tür dosyalardan ayarları yüklemek için fromFile yöntemleri sunar:

$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 sağlanan bir yapılandırma yolu yoksa fromFile yöntemleri varsayılan yapılandırma yolundan yüklenir:

  1. Ayarlandıysa 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

İstemcileri örneklendirirken bu yapılandırma ayarlarını dinamik olarak belirleyebilirsiniz:

$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 örneklendirirken bazı yapılandırma ayarlarını ortam değişkenlerinden ayarlayabilirsiniz (standart ortam değişkenlerine bakın).

Hem kimlik bilgisi hem de istemci oluşturucular, ortam değişkenlerinden ayarları yüklemek için fromEnvironmentVariables yöntemleri sunar.

$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 sürümünden önceki sürümlerde veya özel kapsamlar kullanılırken zorunlu; fromEnvironmentVariables() tarafından bir ortam değişkeninden okunmaz).
      • [OAUTH2] impersonatedEmail: Google Workspace alan genelinde yetki kullanılırken kimliğine bürünülecek isteğe bağlı e-posta adresi.
    • Uygulama Varsayılan Kimlik Bilgileri modu:
      • Uygulama modu veya Hizmet hesabı modu alanlarından hiçbiri ayarlanmadığında OAuth2TokenBuilder, otomatik olarak Uygulama Varsayılan Kimlik Bilgileri'ne (ADC) geri döner.
  2. GoogleAdsClientBuilder tarafından kullanılan alanlar:
    • [GOOGLE_ADS] loginCustomerId: İstekte 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 kaydı çıkışının yolu.
    • [LOGGING] logLevel: Günlük kaydı düzeyi.
    • [CONNECTION] proxy: İnternet bağlantısı için kullanılan proxy sunucu URL'si.
    • [CONNECTION] transport: Ağ aktarımı (grpc veya rest).
    • [CONNECTION] grpcChannelIsSecure: gRPC kanalının güvenli olup olmadığı.
    • [CONNECTION] grpcChannelCredential: gRPC kanalı kimlik bilgileri.
    • [CONNECTION] unaryMiddlewares: Tekli ara katman yazılımları.
    • [CONNECTION] streamingMiddlewares: Akış ara katman yazılımları.
    • [CONNECTION] grpcInterceptors: gRPC kesicileri.

Yapılandırma doğrulaması

İstemciler örneklendirilirken yapılandırma ayarları kontrol edilir ve geçersiz olduğunda istisnalar oluşturulur. Doğrulama kuralları aşağıdaki gibidir:

  1. [OAUTH2] alanları, hem uygulama modu hem de hizmet hesabı modu için aynı anda ayarlanmamalıdır.
  2. Hizmet hesabı modu kullanılırken [OAUTH2] jsonKeyFilePath ayarlanmalıdır (v32.1.0 sürümünden ö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 değerine ayarlanır).
  3. Uygulama modu kullanılırken [OAUTH2] clientId, [OAUTH2] clientSecret ve [OAUTH2] refreshToken ayarlanmalıdır.
  4. Ayarlanırsa [GOOGLE_ADS] loginCustomerId ve [GOOGLE_ADS] linkedCustomerId pozitif sayılar olmalıdır.
  5. Ayarlandıysa [CONNECTION] proxy geçerli bir URL olmalıdır (FILTER_VALIDATE_URL filtresine bakın).
  6. Ayarlandığında [LOGGING] logLevel, büyük harflerle yazılmış geçerli bir PSR günlük düzeyi (ör. INFO) olmalıdır.
  7. Ayarlanırsa [CONNECTION] transport, grpc veya rest olmalıdır.
  8. [CONNECTION] transport, grpc olarak ayarlanırsa gRPC aktarımı ortam tarafından desteklenmelidir (Aktarım kılavuzuna bakın).
  9. [CONNECTION] transport, grpc olarak ayarlanmadığında [CONNECTION] grpcChannelIsSecure, true olmalıdır (REST bağlantıları her zaman HTTPS gerektirir).
  10. [CONNECTION] grpcChannelCredential yalnızca [CONNECTION] transport, grpc olarak ayarlandığında ayarlanabilir.
  11. [CONNECTION] grpcChannelCredential yalnızca [CONNECTION] grpcChannelIsSecure, true olduğunda ayarlanabilir.