Konfiguration

Die Google Ads API-PHP-Clientbibliothek bietet verschiedene Konfigurationseinstellungen, mit denen Sie das Bibliotheksverhalten 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 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 Konfigurationsdateipfad als Argument angegeben ist, werden die fromFile-Methoden aus dem Standardkonfigurationsdateipfad geladen:

  1. Wert der Umgebungsvariablen GOOGLE_ADS_CONFIGURATION_FILE_PATH, sofern 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 beim Instanziieren von Clients dynamisch festlegen.

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

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

Umgebungsvariablen für die Konfiguration

Sie können einige Konfigurationseinstellungen über Umgebungsvariablen beim Instanziieren von Clients festlegen (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, 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 Pfad der JSON-Schlüsseldatei.
      • [OAUTH2] scopes: Die Bereiche.
      • [OAUTH2] impersonatedEmail: Die E-Mail-Adresse, deren Identität angenommen wird.
  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 das Logging.
    • [LOGGING] logLevel: Die Logging-Ebene.
    • [CONNECTION] proxy: Die für die Internetverbindung verwendete Proxyserver-URL.
    • [CONNECTION] transport: Transport.
    • [CONNECTION] grpcChannelIsSecure: Gibt an, ob der gRPC-Kanal sicher ist oder nicht.
    • [CONNECTION] grpcChannelCredential: Die Anmeldedaten des gRPC-Kanals.
    • [CONNECTION] unaryMiddlewares: Die unären Middlewares.
    • [CONNECTION] streamingMiddlewares: Die Streaming-Middlewares.
    • [CONNECTION] grpcInterceptors: Die gRPC-Abfangenden.
  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. Ausnahmen werden ausgelöst, wenn sie ungültig sind. Dies sind die 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 bei Verwendung des Dienstkontomodus festgelegt werden.
  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 [LOGGING] logLevel festgelegt ist, muss es 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 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 den Wert true hat.