Konfiguration

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

Konfigurationsdatei

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

Sowohl die Anmeldedaten- als auch die Client-Builder bieten 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 Konfigurationsdateipfad als Argument angegeben ist, werden die fromFile-Methoden aus dem folgenden Standardpfad für die Konfigurationsdatei geladen:

  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 bei der Instanziierung von Clients dynamisch festlegen.

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

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

Konfigurationsumgebungsvariablen

Bei der Instanziierung von Clients können Sie einige Konfigurationseinstellungen über Umgebungsvariablen festlegen (siehe ausführliche Liste).

Sowohl die Anmeldedaten- als auch die Client-Builder bieten 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 in Kategorien organisierte Felder.

  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 JSON-Schlüsseldatei-Pfad.
      • [OAUTH2] scopes: Die Bereiche.
      • [OAUTH2] impersonatedEmail: Die E-Mail-Adresse, die verwendet 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, der in der Anfrage verwendet werden soll.
    • [GOOGLE_ADS] linkedCustomerId: Die verknüpfte Kundennummer.
    • [LOGGING] logFilePath: Der Dateipfad für das Logging.
    • [LOGGING] logLevel: Die Logging-Ebene.
    • [CONNECTION] proxy: Die für die Internetverbindung verwendete Proxyserver-URL.
    • [CONNECTION] transport: Der Transport.
    • [CONNECTION] grpcChannelIsSecure: Gibt an, ob der gRPC-Kanal sicher ist oder nicht.
    • [CONNECTION] grpcChannelCredential: Anmeldedaten für den gRPC-Kanal.
    • [CONNECTION] unaryMiddlewares: Die unären Middlewares.
    • [CONNECTION] streamingMiddlewares: Die Streaming-Middlewares.
    • [CONNECTION] grpcInterceptors: Die gRPC-Interceptoren.
  3. [GAPIC] useGapicV2Source: Gibt an, ob beim Erstellen von Dienstclients der GAPIC v2-Quellcode verwendet werden soll.

Konfigurationsprüfung

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

  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 der Dienstkontomodus verwendet wird.
  3. [OAUTH2] clientId, [OAUTH2] clientSecret und [OAUTH2] refreshToken müssen festgelegt sein, wenn der Anwendungsmodus verwendet wird.
  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-Logebene in Großbuchstaben sein, z. B. INFO.
  8. Wenn festgelegt, muss [CONNECTION] transport entweder grpc oder rest sein.
  9. Wenn [CONNECTION] transport auf grpc gesetzt ist, muss der gRPC-Transport von der Umgebung unterstützt werden (siehe Anleitung für 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 festgelegt ist.
  12. [CONNECTION] grpcChannelCredential kann nur festgelegt werden, wenn [CONNECTION] grpcChannelIsSecure den Wert true hat.