Konfiguration

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

Konfigurationsdatei

Die meisten dieser Konfigurationseinstellungen können Sie in ini-Dateien speichern und bei der Instanziierung von Clients verwenden, z. B. google_ads_php.ini.

Sowohl die Anmeldedaten- als auch der Client-Builder bieten fromFile-Methoden, um Einstellungen aus solchen Dateien zu laden:

$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 ist, werden die fromFile-Methoden aus dem Standardkonfigurationspfad geladen:

  1. Der Wert der Umgebungsvariablen GOOGLE_ADS_CONFIGURATION_FILE_PATH, falls festgelegt.
  2. Andernfalls die Datei google_ads_php.ini im Verzeichnis HOME.
$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)
    ->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
    // ...
    ->build();

Konfigurationsumgebungsvariablen

Einige der Konfigurationseinstellungen können Sie über Umgebungsvariablen festlegen, wenn Sie Clients instanziieren (siehe vollständige Liste).

Die Anmeldedaten- 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 unterteilt sind.

  1. Von OAuth2TokenBuilder verwendete Felder:
    • Anwendungsmodus
      • [OAUTH2] clientId: Ihre OAuth2-Client-ID.
      • [OAUTH2] clientSecret: Ihr OAuth2-Clientschlüssel.
      • [OAUTH2] refreshToken: Ihr OAuth2-Aktualisierungstoken.
    • Dienstkontomodus
      • [OAUTH2] jsonKeyFilePath: Der Pfad zur JSON-Schlüsseldatei.
      • [OAUTH2] scopes: Die Bereiche.
      • [OAUTH2] impersonatedEmail: Die E-Mail-Adresse, deren Identität angenommen werden soll.
  2. Von GoogleAdsClientBuilder verwendete Felder:
    • [GOOGLE_ADS] developerToken: Ihr Entwicklertoken für den Zugriff auf die API.
    • [GOOGLE_ADS] loginCustomerId: Die ID des autorisierten Kunden, die in der Anfrage verwendet werden soll.
    • [GOOGLE_ADS] linkedCustomerId: Die verknüpfte Kundennummer.
    • [LOGGING] logFilePath: Der Dateipfad für die Protokollierung.
    • [LOGGING] logLevel: Die Logging-Ebene.
    • [CONNECTION] proxy: Die für die Internetverbindung verwendete Proxyserver-URL.
    • [CONNECTION] transport: Der Transport.
    • [CONNECTION] grpcChannelIsSecure: Ob der gRPC-Channel sicher ist oder nicht.
    • [CONNECTION] grpcChannelCredential: Die gRPC-Kanal-Anmeldedaten.
    • [CONNECTION] unaryMiddlewares: Die unären Middlewares.
    • [CONNECTION] streamingMiddlewares: Die Streaming-Middlewares.
    • [CONNECTION] grpcInterceptors: Die gRPC-Interceptors.

Konfigurationsprüfung

Die Konfigurationseinstellungen werden überprüft, wenn Clients instanziiert werden. Ausnahmen werden ausgelöst, wenn sie ungültig sind. Folgende Regeln gelten:

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