Konfiguration

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

Konfigurationsdatei

Sie können die meisten dieser Konfigurationseinstellungen in INI-Konfigurationsdateien speichern und beim Instanziieren 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 Konfigurationspfad als Argument angegeben ist, laden die fromFile-Methoden aus dem Standardkonfigurationspfad:

  1. Der Wert der Umgebungsvariablen mit dem Namen GOOGLE_ADS_CONFIGURATION_FILE_PATH, falls festgelegt.
  2. Andernfalls die Datei google_ads_php.ini in Ihrem 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_HERE')
    ->withClientSecret('INSERT_CLIENT_SECRET_HERE')
    ->withRefreshToken('INSERT_REFRESH_TOKEN_HERE')
    ->build();

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

Konfigurationsumgebungsvariablen

Sie können einige der Konfigurationseinstellungen über Umgebungsvariablen festlegen, wenn Sie Clients instanziieren (siehe Standardumgebungsvariablen).

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();

Konfigurationsfelder

Die Konfigurationseinstellungen unterstützen mehrere Felder, die in Kategorien organisiert 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 JSON-Schlüsselpfad.
      • [OAUTH2] scopes: Die OAuth2-Bereiche (standardmäßig https://www.googleapis.com/auth/adwords in v32.1.0 und höher; erforderlich in Versionen vor v32.1.0 oder bei Verwendung benutzerdefinierter Bereiche; wird nicht von fromEnvironmentVariables() aus einer Umgebungsvariablen gelesen).
      • [OAUTH2] impersonatedEmail: Optionale E-Mail-Adresse, die bei der Verwendung der domainweiten Google Workspace-Delegation imitiert werden soll.
    • Modus für Standardanmeldedaten für Anwendungen:
      • Wenn weder das Feld „Anwendungsmodus“ noch das Feld „Dienstkontomodus“ festgelegt ist, greift OAuth2TokenBuilder automatisch auf die Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) zurück.
  2. Von GoogleAdsClientBuilder verwendete Felder:
    • [GOOGLE_ADS] loginCustomerId: Die ID des autorisierten Kunden, die in der Anfrage verwendet werden soll.
    • [GOOGLE_ADS] linkedCustomerId: Die verknüpfte Kundennummer.
    • [GOOGLE_ADS] endpoint: Optionaler alternativer Google Ads API-Serverendpunkt.
    • [LOGGING] logFilePath: Der Pfad für die Logging-Ausgabe.
    • [LOGGING] logLevel: Die Logging-Ebene.
    • [CONNECTION] proxy: Die URL des Proxyservers, der für die Internetverbindung verwendet wird.
    • [CONNECTION] transport: Der Netzwerktransport (grpc oder rest).
    • [CONNECTION] grpcChannelIsSecure: Gibt an, ob der gRPC-Kanal sicher ist.
    • [CONNECTION] grpcChannelCredential: Die Anmeldedaten für den gRPC-Kanal.
    • [CONNECTION] unaryMiddlewares: Die unären Middlewares.
    • [CONNECTION] streamingMiddlewares: Die Streaming-Middlewares.
    • [CONNECTION] grpcInterceptors: Die gRPC-Interceptors.

Konfigurationsprüfung

Die Konfigurationseinstellungen werden beim Instanziieren von Clients geprüft. Wenn sie ungültig sind, werden Ausnahmen ausgelöst. Es gelten die folgenden Validierungsregeln:

  1. [OAUTH2]-Felder dürfen nicht gleichzeitig für den Anwendungsmodus und den Dienstkontomodus festgelegt werden.
  2. [OAUTH2] jsonKeyFilePath muss festgelegt werden, wenn der Dienstkontomodus verwendet wird. In Versionen vor v32.1.0 muss auch [OAUTH2] scopes festgelegt werden. In v32.1.0 und höher wird scopes standardmäßig auf https://www.googleapis.com/auth/adwords gesetzt.
  3. [OAUTH2] clientId, [OAUTH2] clientSecret und [OAUTH2] refreshToken müssen festgelegt werden, wenn der Anwendungsmodus verwendet wird.
  4. Wenn diese Option festgelegt ist, müssen [GOOGLE_ADS] loginCustomerId und [GOOGLE_ADS] linkedCustomerId positive Zahlen sein.
  5. Wenn festgelegt, muss [CONNECTION] proxy eine gültige URL sein (siehe FILTER_VALIDATE_URL-Filter).
  6. Wenn festgelegt, muss [LOGGING] logLevel ein gültiges PSR-Log-Level in Großbuchstaben sein, z. B. INFO.
  7. Wenn festgelegt, muss [CONNECTION] transport entweder grpc oder rest sein.
  8. Wenn [CONNECTION] transport auf grpc gesetzt ist, muss der gRPC-Transport von der Umgebung unterstützt werden (siehe Transportleitfaden).
  9. [CONNECTION] grpcChannelIsSecure muss true sein, wenn [CONNECTION] transport nicht auf grpc festgelegt ist (REST-Verbindungen erfordern immer HTTPS).
  10. [CONNECTION] grpcChannelCredential kann nur festgelegt werden, wenn [CONNECTION] transport auf grpc gesetzt ist.
  11. [CONNECTION] grpcChannelCredential kann nur festgelegt werden, wenn [CONNECTION] grpcChannelIsSecure true ist.