Es gibt mehrere Möglichkeiten, den Client zu konfigurieren.
Authentifizierungskonfiguration
Es gibt mehrere Möglichkeiten, die OAuth-Anmeldedaten zu verwalten, die für den Zugriff auf die Google Ads API erforderlich sind. Die gewählte Methode wirkt sich darauf aus, welche Konfigurationsfelder Sie verwenden. Weitere Informationen finden Sie in unserem Authentifizierungsleitfaden.
Konfiguration über eine YAML-Datei
Sie können eine YAML-Datei angeben, die beim Initialisieren des Clients verwendet werden soll. Sie enthält die erforderlichen Informationen, um Anfragen an die Google Ads API zu senden. Auf diese Datei wird zugegriffen, wenn ein Client mit der Methode load_from_storage initialisiert wird. Am einfachsten erstellen Sie diese Datei, indem Sie das
google-ads.yaml
Beispiel aus dem GitHub-Repository kopieren und so ändern, dass es Ihre Anmeldedaten enthält,
einschließlich Ihres Aktualisierungstokens, Ihrer Client-ID und Ihres Clientschlüssels.
Wenn Sie keinen Pfad angeben, sucht die Bibliothek im Verzeichnis $HOME nach der Datei:
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage()
Wenn Sie einen Speicherort für die Datei google-ads.yaml angeben möchten, können Sie den Pfad als String an die Methode übergeben, wenn Sie sie aufrufen:
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage("path/to/google-ads.yaml")
Sie können den Pfad auch angeben, indem Sie eine bestimmte Umgebungsvariable definieren:
import os
os.environ["GOOGLE_ADS_CONFIGURATION_FILE_PATH"] = "path/to/google-ads.yaml"
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage()
Wenn beide Werte angegeben sind – ein Pfad wird an die Methode übergeben und die Umgebungsvariable ist vorhanden – priorisiert die Bibliothek den Pfad, der an die Methode übergeben wurde.
Konfiguration über Umgebungsvariablen
Sie können die gesamte Clientkonfiguration als Umgebungsvariablen speichern, die beim Aufrufen der Methode load_from_env des Clients gelesen werden. Umgebungsvariablen sollten denselben Namen wie die in der Datei google-ads.yaml definierten Variablen haben, aber in Großbuchstaben geschrieben und mit dem Namespace GOOGLE_ADS_ versehen sein. Beispiel: client_id sollte als GOOGLE_ADS_CLIENT_ID gespeichert werden.
Umgebungsvariablen werden häufig in einer Bash-Konfigurationsdatei wie einer .bashrc- oder .bash_profile-Datei im Verzeichnis $HOME definiert. Sie können auch über die Befehlszeile definiert werden.
Hier sind einige grundlegende Schritte zum Definieren einer Umgebungsvariablen mit einer .bashrc-Datei über ein Terminal:
# Append the line "export GOOGLE_ADS_CLIENT_ID=1234567890" to
# the bottom of your .bashrc file.
$ echo "export GOOGLE_ADS_CLIENT_ID=1234567890" >> ~/.bashrc
# Update your bash environment to use the most recently updated
# version of your .bashrc file.
$ src ~/.bashrc
Umgebungsvariablen können auch direkt über die Befehlszeile in Ihrer Terminalinstanz festgelegt werden:
$ export GOOGLE_ADS_CLIENT_ID=1234567890
$ echo $GOOGLE_ADS_CLIENT_ID
1234567890
Die Methode load_from_env lädt Konfigurationsdaten aus dem Attribut environ des integrierten os-Moduls von Python. Beispiel:
os.environ["GOOGLE_ADS_CLIENT_ID"]
Hier sehen Sie ein Beispiel für das Initialisieren einer Clientinstanz mit der Konfiguration aus Umgebungsvariablen:
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_env()
Wenn Sie logging über Umgebungsvariablen konfigurieren möchten, muss der Konfigurations
wert ein JSON-Objekt sein, das der Struktur der YAML-Schlüssel in der
Beispielgoogle-ads.yaml
Konfigurationsdatei entspricht.
Hier sehen Sie ein Beispiel dafür, wie dies mit einer .bashrc-Datei festgelegt werden kann:
export GOOGLE_ADS_LOGGING='{
"version": 1,
"disable_existing_loggers": false,
"formatters": {
"default_fmt": {
"format": "[%(asctime)s - %(levelname)s] %(message).5000s",
"datefmt": "%Y-%m-%d %H:%M:%S"
}
},
"handlers": {
"default_handler": {
"class": "logging.StreamHandler",
"formatter": "default_fmt"
}
},
"loggers": {
"": {
"handlers": ["default_handler"],
"level": "INFO"
}
}
}'
Konfiguration über einen YAML-String
Wenn Sie eine YAML-Datei in den Arbeitsspeicher gelesen haben, können Sie sie bei der Initialisierung direkt an den Client übergeben. Verwenden Sie dazu einfach die Methode load_from_string.
from google.ads.googleads.client import GoogleAdsClient
with open("/path/to/yaml", "rb") as handle:
yaml = handle.read()
client = GoogleAdsClient.load_from_string(yaml)
Konfiguration über ein dict
Sie können ein dict direkt an die Methode load_from_dict übergeben. Beispiel:
from google.ads.googleads.client import GoogleAdsClient
credentials = {
"refresh_token": "1//0abcdefghijklABCDEF",
"client_id": "123456-abcdef.apps.googleusercontent.com",
"client_secret": "aBcDeFgHiJkL"}
client = GoogleAdsClient.load_from_dict(credentials)
Felder für die Konfiguration
Die Konfiguration der Clientbibliothek unterstützt die folgenden Felder.
Authentifizierung
Verwenden Sie nur eine dieser Feldgruppen, je nachdem, welche Authentifizierungsmethode Sie verwenden:
- Einzelnutzer mit Standardanmeldedaten für Anwendungen (Dokumentation)
use_application_default_credentials: Gibt an, ob die Bibliothek Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) für die Authentifizierung verwenden soll.
- Einzelnutzer mit OAuth-Tokens (Dokumentation)
client_id: Ihre OAuth-Client-ID.client_secret: Ihr OAuth-Clientschlüssel.refresh_token: Ihr OAuth-Aktualisierungstoken.
- Dienstkonto (Dokumentation)
json_key_file_path: Ein Pfad zu einer lokalen privaten Schlüsseldatei. Dies wird für die Authentifizierung mit einem Dienstkonto verwendet.
Verhalten der Bibliothek
Diese Felder bestimmen das Verhalten der Bibliothek:
logging: Weitere Informationen finden Sie unter Logging-Konfiguration.http_proxy: Weitere Informationen finden Sie in der Proxy-Dokumentation.use_proto_plus: Gibt an, ob Proto-Plus-Nachrichten verwendet werden sollen. Weitere Informationen finden Sie in der Dokumentation zu Protobuf-Nachrichten.
Konfiguration auf Anfrageebene
linked_customer_id: Weitere Informationen finden Sie in der Dokumentation zu „linked_customer_id“.login_customer_id: Weitere Informationen finden Sie in der Dokumentation zu „login_customer_id“.
Umgebungsvariablen
Verwenden Sie Folgendes, um die Bibliothek mit Umgebungsvariablen zu konfigurieren:
GOOGLE_ADS_CLIENT_IDGOOGLE_ADS_CLIENT_SECRETGOOGLE_ADS_CONFIGURATION_FILE_PATHGOOGLE_ADS_HTTP_PROXYGOOGLE_ADS_JSON_KEY_FILE_PATHGOOGLE_ADS_LINKED_CUSTOMER_IDGOOGLE_ADS_LOGIN_CUSTOMER_IDGOOGLE_ADS_LOGGINGGOOGLE_ADS_REFRESH_TOKENGOOGLE_ADS_USE_PROTO_PLUSGOOGLE_ADS_USE_APPLICATION_DEFAULT_CREDENTIALS
Logging-Konfiguration
Logging-Felder, die sich unter dem logging Konfigurationsfeld befinden, werden direkt aus dem logging.config integrierten Modul abgeleitet, da die Bibliothek alle Felder unter dem logging Namespace direkt an die logging.config.dictConfig Methode übergibt. Weitere Informationen finden Sie im
Logging-Leitfaden.
version: Ein ganzzahliger Wert, der eine Schemaversion darstellt.disable_existing_loggers: Gibt an, ob Logger, die an anderer Stelle in der Anwendung konfiguriert wurden, deaktiviert werden sollen.formatters: Wörterbücher, die verschiedene Arten von Formatierern definieren.handlers: Wörterbücher, die verschiedene Handler definieren, die steuern, wohin Logs geschrieben werden und welche Formatierer verwendet werden sollen.loggers: Wörterbücher, die verschiedene Arten von Loggern definieren, die einen Handler und eine Logebene enthalten.