Es gibt mehrere Möglichkeiten, den Client zu konfigurieren.
Konfiguration mit YAML-Datei
Sie können eine YAML-Datei angeben, die beim Initialisieren des Clients verwendet werden soll, der
die für die Anfragen erforderlichen Authentifizierungsinformationen enthalten. Diese Datei ist
Der Zugriff erfolgt, wenn ein Client mit der Methode load_from_storage
initialisiert wird.
Am einfachsten erstellen Sie diese Datei, indem Sie den
google-ads.yaml
aus dem GitHub-Repository abrufen und Ihre Anmeldedaten,
einschließlich Entwicklertoken, Aktualisierungstoken, Client-ID und Clientschlüssel.
Wenn Sie keinen Pfad angeben, sucht die Bibliothek im Verzeichnis $HOME
.
für die Datei:
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage()
Um einen Speicherort anzugeben, an dem sich die Datei google-ads.yaml
befindet, können Sie
den Pfad als String für die Methode an, wenn sie aufgerufen wird:
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, wird ein Pfad an die Methode und an die obige Methode übergeben. vorhanden ist, priorisiert die Bibliothek den Pfad. an die Methode übergeben.
Konfiguration mithilfe von Umgebungsvariablen
Sie können Ihre gesamte Clientkonfiguration als Umgebungsvariablen speichern,
wird gelesen, wenn die load_from_env
-Methode des Clients verwendet wird. Umgebung
Variablen sollten denselben Namen haben wie die in google-ads.yaml
definierten Variablen.
-Datei, sollte aber aus Großbuchstaben bestehen und das Präfix GOOGLE_ADS_
haben
-Namespace auf sie zugegriffen werden. Beispiel: client_id
sollte als GOOGLE_ADS_CLIENT_ID
gespeichert werden.
Umgebungsvariablen werden üblicherweise in einer Bash-Konfigurationsdatei definiert,
als .bashrc
- oder .bash_profile
-Datei im Verzeichnis $HOME
. Sie
können auch über die Befehlszeile definiert werden. Beachten Sie, dass diese Anleitung
nehmen Sie an, Sie nutzen bash
. Bei einer anderen Shell
in der Dokumentation zum Festlegen von Umgebungsvariablen
die Sie verwenden.
Hier sind einige grundlegende Schritte zum Definieren einer Umgebungsvariable mithilfe eines .bashrc
-Objekts.
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 in Ihrer Terminalinstanz festgelegt werden über die Befehlszeile ein:
$ export GOOGLE_ADS_CLIENT_ID=1234567890
$ echo $GOOGLE_ADS_CLIENT_ID
1234567890
Die Methode load_from_env
lädt Konfigurationsdaten aus environ
.
im integrierten Python-Modul os
. Beispiel:
os.environ["GOOGLE_ADS_CLIENT_ID"]
Hier ein Beispiel für die Initialisierung einer Clientinstanz mit Konfigurationseinstellungen aus Umgebungsvariablen:
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_env()
Damit logging
über Umgebungsvariablen konfiguriert werden kann, muss die Konfiguration
muss ein JSON-Objekt sein, das der Struktur der YAML-Schlüssel im
Beispiel google-ads.yaml
Konfigurationsdatei.
Hier ein Beispiel, 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 mit einem YAML-String
Wenn Sie eine YAML-Datei in den Arbeitsspeicher gelesen haben, können Sie sie direkt dem
bei der Initialisierung des Clients. Dazu verwenden Sie 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 mit dict
Sie können dict
direkt an die Methode load_from_dict
übergeben. Beispiel:
from google.ads.googleads.client import GoogleAdsClient
credentials = {
"developer_token": "abcdef123456",
"refresh_token": "1//0abcdefghijklABCDEF",
"client_id": "123456-abcdef.apps.googleusercontent.com",
"client_secret": "aBcDeFgHiJkL"}
client = GoogleAdsClient.load_from_dict(credentials)
Konfigurationsfelder
Bei der Konfiguration der Clientbibliothek werden die folgenden Felder unterstützt.
Allgemeine Felder (diese Namen sind unabhängig davon, ob Sie eine YAML-Datei oder ein Wörterbuch verwenden) Konfiguration):
refresh_token
: Ihr OAuth-Aktualisierungstoken.client_id
: Deine OAuth-Client-ID.client_secret
: Ihr OAuth-Clientschlüsseldeveloper_token
: Ihr Entwicklertoken für den Zugriff auf die API.login_customer_id
: Sehen Sie sich die Dokumentation zur Log-in-Kundennummer.linked_customer_id
: Sehen Sie sich die Verknüpfte Kundennummer an. Dokumentation.json_key_file_path
(früherpath_to_private_key_file
): Ein Pfad zu einem lokale private Schlüsseldatei. Dies wird für die Authentifizierung mit einem Dienst verwendet Konto. Weitere Informationen finden Sie in der Dokumentation zum OAuth2-Dienstkonto.impersonated_email
(früherdelegate_account
): Eine Konto-E-Mail-Adresse, die verwendet wird als Bevollmächtigter. Dies wird für die Authentifizierung mit einem Dienstkonto verwendet. Weitere Informationen finden Sie unter in der Dokumentation zum OAuth2-Dienstkontologging
: Logging-Konfiguration. Die Logging-Felder werden unten beschrieben.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.
Allgemeine Felder als Umgebungsvariablen:
GOOGLE_ADS_CONFIGURATION_FILE_PATH
GOOGLE_ADS_REFRESH_TOKEN
GOOGLE_ADS_CLIENT_ID
GOOGLE_ADS_CLIENT_SECRET
GOOGLE_ADS_DEVELOPER_TOKEN
GOOGLE_ADS_LOGIN_CUSTOMER_ID
GOOGLE_ADS_LINKED_CUSTOMER_ID
GOOGLE_ADS_JSON_KEY_FILE_PATH
(früherGOOGLE_ADS_PATH_TO_PRIVATE_KEY_FILE
)GOOGLE_ADS_IMPERSONATED_EMAIL
(früherGOOGLE_ADS_DELEGATE_ACCOUNT
)GOOGLE_ADS_LOGGING
GOOGLE_ADS_HTTP_PROXY
GOOGLE_ADS_USE_PROTO_PLUS
Logging-Felder, die Felder unter der logging
-Konfiguration sind
werden direkt aus dem integrierten logging.config
-Modul abgeleitet,
da die Bibliothek alle Felder unter dem Namespace logging
übergibt.
direkt in den
logging.config.dictConfig
. Ausführliche Informationen finden Sie im Logging-Leitfaden.
version
: ein ganzzahliger Wert, der eine Schemaversion darstellt.disable_existing_loggers
: Gibt an, ob Protokollierungen an anderer Stelle im sollte deaktiviert sein.formatters
: Wörterbücher, die verschiedene Arten von Formatierern definieren.handlers
: Wörterbücher, die verschiedene Handler definieren, mit denen gesteuert wird, wo in welche Logs geschrieben werden und welche Formatierer verwendet werden sollen.loggers
: Wörterbücher, die verschiedene Arten von Protokollierungen definieren, darunter: einen Handler und eine Logebene.