Konfiguration

Die Google Ads API-Clientbibliothek für PHP bietet mehrere Konfigurationseinstellungen, mit denen Sie das Verhalten der Bibliothek anpassen können.

Konfigurationsdatei

Die meisten dieser Konfigurationseinstellungen können Sie in Die meisten dieser Konfigurationseinstellungen können Sie in ini Dateien speichern und beim Instanziieren von Clients verwenden, z. B. google_ads_php.ini.

Die Credential- und Client-Builder bieten beide fromFile-Methoden zum Laden von Einstellungen aus solchen Dateien:

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

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

Wenn kein Konfigurationspfad als Argument angegeben wird, laden die fromFile-Methoden den Standardkonfigurationspfad:

  1. Der Wert der Umgebungsvariablen GOOGLE_ADS_CONFIGURATION_FILE_PATH, falls festgelegt.
  2. Andernfalls die Datei google_ads_php.ini in Ihrem HOME-Verzeichnis.
$oAuth2Credential = (new OAuth2TokenBuilder())
    ->fromFile()
    ->build();

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

Dynamische Konfiguration

Sie können diese Konfigurationseinstellungen dynamisch festlegen, wenn Sie Clients instanziieren.

$oAuth2Credential = (new OAuth2TokenBuilder())
    ->withClientId('INSERT_CLIENT_ID')
    // ...
    ->build();

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

Umgebungsvariablen für die Konfiguration

Einige Konfigurationseinstellungen können Sie beim Instanziieren von Clients aus Umgebungsvariablen festlegen (siehe die vollständige Liste).

Die Credential- und Client-Builder bieten beide fromEnvironmentVariables-Methoden zum Laden von Einstellungen aus Umgebungsvariablen:

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

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

Felder für die Konfiguration

Die Konfigurationseinstellungen unterstützen mehrere Felder, die in Kategorien organisiert sind.

  1. Felder, die von OAuth2TokenBuilder verwendet werden:
    • App-Modus
      • [OAUTH2] clientId: Ihre OAuth 2.0-Client-ID.
      • [OAUTH2] clientSecret: Ihr OAuth 2.0-Clientgeheimnis.
      • [OAUTH2] refreshToken: Ihr OAuth 2.0-Aktualisierungstoken.
    • Dienstkontomodus
      • [OAUTH2] jsonKeyFilePath: Der Pfad zum JSON-Schlüssel.
      • [OAUTH2] scopes: Die Bereiche.
      • [OAUTH2] impersonatedEmail: Die E-Mail-Adresse, die imitiert werden soll.
  2. Felder, die von GoogleAdsClientBuilder verwendet werden:
    • [GOOGLE_ADS] loginCustomerId: Die ID des autorisierten Kunden, die in der Anfrage verwendet werden soll.
    • [GOOGLE_ADS] linkedCustomerId: Die ID des verknüpften Kunden.
    • [LOGGING] logFilePath: Der Pfad für die Protokollierung.
    • [LOGGING] logLevel: Die Protokollebene.
    • [CONNECTION] proxy: Die URL des Proxyservers, die für die Internetverbindung verwendet wird.
    • [CONNECTION] transport: Der Transport.
    • [CONNECTION] grpcChannelIsSecure: Gibt an, ob der gRPC-Kanal sicher ist.
    • [CONNECTION] grpcChannelCredential: Die Anmeldedaten für den gRPC-Kanal.
    • [CONNECTION] unaryMiddlewares: Die Middleware für Unary-Aufrufe.
    • [CONNECTION] streamingMiddlewares: Die Middleware für Streaming-Aufrufe.
    • [CONNECTION] grpcInterceptors: Die gRPC-Interceptors.

Konfigurationsprüfung

Die Konfigurationseinstellungen werden beim Instanziieren von Clients geprüft. Bei ungültigen Einstellungen werden Ausnahmen ausgelöst. Hier sind die Regeln:

  1. [OAUTH2] -Felder dürfen nicht gleichzeitig für den App-Modus und den Dienstkontomodus festgelegt werden.
  2. [OAUTH2] jsonKeyFilePath und [OAUTH2] scopes müssen im Dienstkontomodus festgelegt werden.
  3. [OAUTH2] clientId, [OAUTH2] clientSecret und [OAUTH2] refreshToken müssen im App-Modus festgelegt werden.
  4. Falls festgelegt, müssen [GOOGLE_ADS] loginCustomerId und [GOOGLE_ADS] linkedCustomerId positive Zahlen sein.
  5. Falls festgelegt, muss [CONNECTION] proxy eine gültige URL sein (siehe Filter FILTER_VALIDATE_URL).
  6. Falls festgelegt, muss [LOGGING] logLevel eine gültige PSR-Protokoll ebene in Großbuchstaben sein, z. B. INFO.
  7. Falls festgelegt, muss [CONNECTION] transport entweder grpc oder rest sein.
  8. Wenn [CONNECTION] transport auf grpc festgelegt ist, muss der gRPC-Transport von der Umgebung unterstützt werden (siehe Leitfaden Transport).
  9. [CONNECTION] grpcChannelIsSecure muss true sein, wenn [CONNECTION] transport nicht auf grpc festgelegt ist.
  10. [CONNECTION] grpcChannelCredential kann nur festgelegt werden, wenn [CONNECTION] transport auf grpc festgelegt ist.
  11. [CONNECTION] grpcChannelCredential kann nur festgelegt werden, wenn [CONNECTION] grpcChannelIsSecure auf true festgelegt ist.