Konfiguration

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Es gibt mehrere Möglichkeiten, den Client zu konfigurieren.

Konfiguration mit YAML-Datei

Sie können eine YAML-Datei angeben, die bei der Initialisierung des Clients verwendet wird, der die erforderlichen Authentifizierungsinformationen enthält, die für Anfragen erforderlich sind. Auf diese Datei wird zugegriffen, wenn ein Client mit der Methode load_from_storage initialisiert wird. Am einfachsten generieren Sie diese Datei, indem Sie das google-ads.yaml-Beispiel aus dem GitHub-Repository kopieren und so anpassen, dass es Ihre Anmeldedaten enthält, einschließlich des Entwicklertokens, Aktualisierungstokens, der Client-ID und des Clientschlüssels.

Wenn Sie einen Speicherort angeben möchten, an dem sich die Datei google-ads.yaml befindet, können Sie den Pfad als Aufruf 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 durch Definieren einer bestimmten Umgebungsvariablen angeben:

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 Sie beide Werte angeben, gibt es einen Pfad an die Methode und die obige Umgebungsvariable vorhanden ist. Dann priorisiert die Bibliothek den Pfad, der an die Methode übergeben wird.

Wenn Sie keinen Pfad angeben, sucht die Bibliothek im $HOME-Verzeichnis nach der Datei:

from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage()

Konfiguration mit Umgebungsvariablen

Du kannst deine gesamte Clientkonfiguration als Umgebungsvariablen speichern. Diese wird ausgelesen, wenn die load_from_env-Methode des Clients verwendet wird. Umgebungsvariablen sollten denselben Namen haben wie die in der Datei google-ads.yaml definierten, jedoch alle Großbuchstaben und das Präfix GOOGLE_ADS_ haben. client_id sollte beispielsweise als GOOGLE_ADS_CLIENT_ID gespeichert werden.

Umgebungsvariablen werden normalerweise in einer Bash-Konfigurationsdatei definiert, z. B. einer .bashrc- oder .bash_profile-Datei im Verzeichnis $HOME. Sie können auch über die Befehlszeile definiert werden. In dieser Anleitung wird davon ausgegangen, dass Sie bash verwenden. Wenn Sie eine andere Shell verwenden, ist es möglicherweise erforderlich, die Dokumentation zum Einrichten von Umgebungsvariablen in der Shell aufzurufen.

So definieren Sie eine Umgebungsvariable mithilfe einer .bashrc-Datei mithilfe eines Terminals:

# 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 in der Terminalinstanz auch direkt über die Befehlszeile festgelegt werden:

$ export GOOGLE_ADS_CLIENT_ID=1234567890
$ echo $GOOGLE_ADS_CLIENT_ID
1234567890

Mit der Methode load_from_env werden Konfigurationsdaten aus dem environ-Attribut des integrierten Python-Moduls os geladen. Beispiel: os.environ["GOOGLE_ADS_CLIENT_ID"]

Hier ein Beispiel für die Initialisierung einer Clientinstanz mit Konfigurationen aus Umgebungsvariablen:

from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_env()

Zum Konfigurieren von logging über Umgebungsvariablen muss der Konfigurationswert ein JSON-Objekt sein, das mit der Struktur der YAML-Schlüssel in der google-ads.yaml-Beispieldatei übereinstimmt.

Hier ein Beispiel für die Einrichtung mit einer .bashrc-Datei:

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 dem Client bei der Initialisierung direkt bereitstellen. 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 mit einem dict

Sie können ein dict direkt an die load_from_dict-Methode ü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

Die Konfiguration der Clientbibliothek unterstützt die folgenden Felder.

Allgemeine Felder (diese Namen sind gleich, unabhängig davon, ob Sie eine YAML- oder Dict-Konfiguration verwenden):

  • refresh_token: Ihr OAuth-Aktualisierungstoken.
  • client_id: Ihre OAuth-Client-ID.
  • client_secret: Ihr OAuth-Clientschlüssel.
  • developer_token: Ihr Entwicklertoken für den Zugriff auf die API.
  • login_customer_id: Weitere Informationen finden Sie in der Dokumentation zu login-customer-id.
  • linked_customer_id: Weitere Informationen finden Sie in der Dokumentation zur verknüpften Kunden-ID.
  • json_key_file_path (früher path_to_private_key_file): Ein Pfad zu einer lokalen privaten Schlüsseldatei. Er wird für die Authentifizierung mit einem Dienstkonto verwendet. Weitere Informationen finden Sie in der Dokumentation zum OAuth2-Dienstkonto.
  • impersonated_email (früher delegate_account): Eine E-Mail-Adresse für das Konto, die als Bevollmächtigter verwendet wird. Er wird für die Authentifizierung mit einem Dienstkonto verwendet. Weitere Informationen finden Sie in der Dokumentation zum OAuth2-Dienstkonto.
  • logging: Logging-Konfiguration. Die Protokollierungsfelder 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 oder nicht. 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üher GOOGLE_ADS_PATH_TO_PRIVATE_KEY_FILE)
  • GOOGLE_ADS_IMPERSONATED_EMAIL (früher GOOGLE_ADS_DELEGATE_ACCOUNT)
  • GOOGLE_ADS_LOGGING
  • GOOGLE_ADS_HTTP_PROXY
  • GOOGLE_ADS_USE_PROTO_PLUS

Logging-Felder, die Felder unter dem Konfigurationsfeld logging sind, werden direkt aus dem integrierten Modul logging.config abgeleitet, da die Bibliothek alle Felder unter dem Namespace logging direkt an die Methode logging.config.dictConfig übergibt. Ausführliche Informationen finden Sie in der Protokollierungsanleitung.

  • version: Eine Ganzzahl, die eine Schemaversion darstellt.
  • disable_existing_loggers: Gibt an, ob Loggings, 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, wo Logs geschrieben und welche Formatierer verwendet werden.
  • loggers: Wörterbücher, die verschiedene Arten von Protokollierungen definieren, darunter einen Handler und eine Logebene.