Die Google Ads API-Clientbibliothek für PHP bietet mehrere Konfigurationseinstellungen, mit denen Sie das Verhalten der Bibliothek anpassen können.
Konfigurationsdatei
Die meisten dieser Konfigurationseinstellungen können Sie in
Die meisten dieser Konfigurationseinstellungen können Sie in
ini
Dateien speichern und beim Instanziieren von Clients verwenden, z. B.
google_ads_php.ini.
Die Credential- und Client-Builder bieten beide 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 wird, laden die fromFile-Methoden den Standardkonfigurationspfad:
- Der Wert der Umgebungsvariablen
GOOGLE_ADS_CONFIGURATION_FILE_PATH, falls festgelegt. - Andernfalls die Datei
google_ads_php.iniin IhremHOME-Verzeichnis.
$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)
// ...
->build();
Umgebungsvariablen für die Konfiguration
Einige Konfigurationseinstellungen können Sie beim Instanziieren von Clients aus Umgebungsvariablen festlegen (siehe die vollständige Liste).
Die Credential- 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 organisiert sind.
- Felder, die von
OAuth2TokenBuilderverwendet werden:- App-Modus
[OAUTH2] clientId: Ihre OAuth 2.0-Client-ID.[OAUTH2] clientSecret: Ihr OAuth 2.0-Clientgeheimnis.[OAUTH2] refreshToken: Ihr OAuth 2.0-Aktualisierungstoken.
- Dienstkontomodus
[OAUTH2] jsonKeyFilePath: Der Pfad zum JSON-Schlüssel.[OAUTH2] scopes: Die Bereiche.[OAUTH2] impersonatedEmail: Die E-Mail-Adresse, die imitiert werden soll.
- App-Modus
- Felder, die von
GoogleAdsClientBuilderverwendet werden:[GOOGLE_ADS] loginCustomerId: Die ID des autorisierten Kunden, die in der Anfrage verwendet werden soll.[GOOGLE_ADS] linkedCustomerId: Die ID des verknüpften Kunden.[LOGGING] logFilePath: Der Pfad für die Protokollierung.[LOGGING] logLevel: Die Protokollebene.[CONNECTION] proxy: Die URL des Proxyservers, die für die Internetverbindung verwendet wird.[CONNECTION] transport: Der Transport.[CONNECTION] grpcChannelIsSecure: Gibt an, ob der gRPC-Kanal sicher ist.[CONNECTION] grpcChannelCredential: Die Anmeldedaten für den gRPC-Kanal.[CONNECTION] unaryMiddlewares: Die Middleware für Unary-Aufrufe.[CONNECTION] streamingMiddlewares: Die Middleware für Streaming-Aufrufe.[CONNECTION] grpcInterceptors: Die gRPC-Interceptors.
Konfigurationsprüfung
Die Konfigurationseinstellungen werden beim Instanziieren von Clients geprüft. Bei ungültigen Einstellungen werden Ausnahmen ausgelöst. Hier sind die Regeln:
[OAUTH2]-Felder dürfen nicht gleichzeitig für den App-Modus und den Dienstkontomodus festgelegt werden.[OAUTH2] jsonKeyFilePathund[OAUTH2] scopesmüssen im Dienstkontomodus festgelegt werden.[OAUTH2] clientId,[OAUTH2] clientSecretund[OAUTH2] refreshTokenmüssen im App-Modus festgelegt werden.- Falls festgelegt, müssen
[GOOGLE_ADS] loginCustomerIdund[GOOGLE_ADS] linkedCustomerIdpositive Zahlen sein. - Falls festgelegt, muss
[CONNECTION] proxyeine gültige URL sein (siehe Filter FILTER_VALIDATE_URL). - Falls festgelegt, muss
[LOGGING] logLeveleine gültige PSR-Protokoll ebene in Großbuchstaben sein, z. B.INFO. - Falls festgelegt, muss
[CONNECTION] transportentwedergrpcoderrestsein. - Wenn
[CONNECTION] transportaufgrpcfestgelegt ist, muss der gRPC-Transport von der Umgebung unterstützt werden (siehe Leitfaden Transport). [CONNECTION] grpcChannelIsSecuremusstruesein, wenn[CONNECTION] transportnicht aufgrpcfestgelegt ist.[CONNECTION] grpcChannelCredentialkann nur festgelegt werden, wenn[CONNECTION] transportaufgrpcfestgelegt ist.[CONNECTION] grpcChannelCredentialkann nur festgelegt werden, wenn[CONNECTION] grpcChannelIsSecureauftruefestgelegt ist.