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:
- Der Wert der Umgebungsvariablen mit dem Namen
GOOGLE_ADS_CONFIGURATION_FILE_PATH, falls festgelegt. - Andernfalls die Datei
google_ads_php.iniin Ihrem VerzeichnisHOME.
$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:
- Von
OAuth2TokenBuilderverwendete 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äßighttps://www.googleapis.com/auth/adwordsinv32.1.0und höher; erforderlich in Versionen vorv32.1.0oder bei Verwendung benutzerdefinierter Bereiche; wird nicht vonfromEnvironmentVariables()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
OAuth2TokenBuilderautomatisch auf die Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) zurück.
- Wenn weder das Feld „Anwendungsmodus“ noch das Feld „Dienstkontomodus“ festgelegt ist, greift
- Anwendungsmodus:
- Von
GoogleAdsClientBuilderverwendete 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 (grpcoderrest).[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:
[OAUTH2]-Felder dürfen nicht gleichzeitig für den Anwendungsmodus und den Dienstkontomodus festgelegt werden.[OAUTH2] jsonKeyFilePathmuss festgelegt werden, wenn der Dienstkontomodus verwendet wird. In Versionen vorv32.1.0muss auch[OAUTH2] scopesfestgelegt werden. Inv32.1.0und höher wirdscopesstandardmäßig aufhttps://www.googleapis.com/auth/adwordsgesetzt.[OAUTH2] clientId,[OAUTH2] clientSecretund[OAUTH2] refreshTokenmüssen festgelegt werden, wenn der Anwendungsmodus verwendet wird.- Wenn diese Option festgelegt ist, müssen
[GOOGLE_ADS] loginCustomerIdund[GOOGLE_ADS] linkedCustomerIdpositive Zahlen sein. - Wenn festgelegt, muss
[CONNECTION] proxyeine gültige URL sein (sieheFILTER_VALIDATE_URL-Filter). - Wenn festgelegt, muss
[LOGGING] logLevelein gültiges PSR-Log-Level in Großbuchstaben sein, z. B.INFO. - Wenn festgelegt, muss
[CONNECTION] transportentwedergrpcoderrestsein. - Wenn
[CONNECTION] transportaufgrpcgesetzt ist, muss der gRPC-Transport von der Umgebung unterstützt werden (siehe Transportleitfaden). [CONNECTION] grpcChannelIsSecuremusstruesein, wenn[CONNECTION] transportnicht aufgrpcfestgelegt ist (REST-Verbindungen erfordern immer HTTPS).[CONNECTION] grpcChannelCredentialkann nur festgelegt werden, wenn[CONNECTION] transportaufgrpcgesetzt ist.[CONNECTION] grpcChannelCredentialkann nur festgelegt werden, wenn[CONNECTION] grpcChannelIsSecuretrueist.