Diese Client-Bibliothek vereinfacht den Zugriff auf die Google Ad Manager SOAP API. Die Bibliothek bietet einfache Möglichkeiten zum Speichern Ihrer Authentifizierung und zum Erstellen von SOAP-Webdienst-Clients. Es enthält auch Beispielcode, der Ihnen den Einstieg in die Integration mit unseren APIs erleichtert.
Laden Sie die Bibliothek herunter und installieren Sie sie
setuptools ist eine Voraussetzung für die Installation der Googleads-Bibliothek
Es wird empfohlen, die Bibliothek und ihre Abhängigkeiten von PyPI mit pip zu installieren. Dies kann mit einem einzigen Befehl erreicht werden:
$ pip install googleads
Alternativ können Sie die Bibliothek auch als Tarball herunterladen. Um die Installation zu starten, navigieren Sie zu dem Verzeichnis, das Ihre heruntergeladene entpackte Client-Bibliothek enthält, und führen Sie das Skript „setup.py“ wie folgt aus:
$ python setup.py build install
Kopieren Sie die Datei googleads.yaml in Ihr Home-Verzeichnis.
Dies wird zum Speichern von Anmeldeinformationen und anderen Einstellungen verwendet, die zur Initialisierung eines Clients geladen werden können.
Richten Sie Ihre OAuth2-Anmeldeinformationen ein
Die Ad Manager-API verwendet OAuth2 als Authentifizierung
Mechanismus. Befolgen Sie die entsprechende Anleitung unten basierend auf Ihrem Anwendungsfall.
Wenn Sie mit Ihren eigenen Anmeldeinformationen auf eine API zugreifen ...
Wenn Sie im Auftrag von Kunden auf eine API zugreifen ...
Entwickeln einer Webanwendung (Ad Manager)
Verwenden von Ad Manager
Codebeispiele für die neuesten Versionen von Ad Manager finden Sie auf der Seite „Releases“.
Alternativ finden Sie Ad Manager-Beispiele im Beispielverzeichnis dieses Repositorys.
Es ist möglich, Ihre API-Authentifizierungsinformationen zwischenzuspeichern. Die Bibliothek enthält eine Beispieldatei mit dem Namen googleads.yaml
die die Vorgehensweise zeigt. Füllen Sie die Felder für die API und Funktionen aus, die Sie verwenden möchten. Die LoadFromStorage
Methoden der Bibliothek suchen standardmäßig nach einer Datei mit diesem Namen in Ihrem Home-Verzeichnis, Sie können jedoch einen Pfad zu jeder Datei mit dem richtigen Yaml-Inhalt übergeben.
# Verwenden Sie den Standardspeicherort – Ihr Home-Verzeichnis:ad_manager_client = ad_manager.AdManagerClient.LoadFromStorage()# Alternativ übergeben Sie den Speicherort der Datei:ad_manager_client = ad_manager.AdManagerClient.LoadFromStorage('C:MyDirectorygoogleads.yaml')
Wenn Sie Probleme haben, die direkt mit der Client-Bibliothek zusammenhängen, verwenden Sie den Issue-Tracker.
Wenn Sie Probleme mit einer bestimmten API haben, nutzen Sie die Produktsupportforen:
Anzeigenmanager
Die Bibliothek verwendet das in Python integrierte Protokollierungsframework. Sie können Ihre Konfiguration über die Konfigurationsdatei festlegen; Ein Beispiel finden Sie in googleads.yaml.
Alternativ können Sie Ihre Protokollierungskonfiguration manuell angeben. Wenn Sie beispielsweise Ihre SOAP-Interaktionen auf stdout protokollieren möchten und die Zeep-Soap-Bibliothek verwenden, können Sie Folgendes tun:
logging.basicConfig(level=logging.INFO, format=googleads.util.LOGGER_FORMAT)logging.getLogger('googleads.soap').setLevel(logging.DEBUG)
Wenn Sie in einer Datei protokollieren möchten, müssen Sie einen Protokollhandler an diese Quelle anhängen, der so konfiguriert ist, dass er die Ausgabe in eine Datei schreibt.
Das für die Protokollierung verwendete Zeep-Plugin entfernt vertrauliche Daten aus seiner Ausgabe. Wenn Sie möchten, dass diese Daten in Protokolle aufgenommen werden, müssen Sie Ihr eigenes einfaches Protokollierungs-Plugin implementieren. Zum Beispiel:
Klasse DangerousZeepLogger(zeep.Plugin): def ingress(self, Envelope, http_headers, operation):logging.debug('Incoming Response: n%s', etree.tostring(envelope, Pretty_print=True))return Envelope, http_headers def egress(self, Envelope, http_headers, operation, binding_options):logging.debug('Eingehende Antwort: n%s', etree.tostring(envelope, Pretty_print=True))returnvelope, http_headersad_manager_client.zeep_client.plugins.append(DangerousZeepLogger ())
Standardmäßig werden Clients zwischengespeichert, da das Lesen und Verarbeiten der WSDL kostspielig sein kann. Die Standard-Caching-Methode erfordert jedoch die Berechtigung zum Zugriff auf ein lokales Dateisystem, die in bestimmten Hosting-Umgebungen wie App Engine möglicherweise nicht verfügbar ist.
Sie können eine Implementierung von zeep.cache.Base
an den AdManagerClient
-Initialisierer übergeben, um das Standard-Caching-Verhalten zu ändern.
Konfigurieren Sie beispielsweise einen anderen Speicherort und eine andere Dauer der Cache-Datei mit zeep
doc_cache = zeep.cache.SqliteCache(path=cache_path)ad_manager_client = ad_manager.AdManagerClient( oauth2_client, application_name, network_code=network_code, cache=doc_cache)
Auf ähnliche Weise können Sie das Caching auch mit zeep deaktivieren
ad_manager_client = ad_manager.AdManagerClient( oauth2_client, application_name, network_code=network_code, cache=googleads.common.ZeepServiceProxy.NO_CACHE)
Diese Bibliothek unterstützt nur Python 3.7+.
- httplib2 -- https://pypi.python.org/pypi/httplib2/ - oauth2client -- https://pypi.python.org/pypi/oauth2client/ - pysocks -- https://pypi.python.org/pypi/PySocks/ - pytz -- https://pypi.python.org/pypi/pytz - pyYAML -- https://pypi.python.org/pypi/pyYAML/ - xmltodict -- https://pypi.python.org/pypi/xmltodict/ - zeep -- https://pypi.python.org/pypi/zeep - mock -- https://pypi.python.org/pypi/mock (only needed to run unit tests) - pyfakefs -- https://pypi.python.org/pypi/pyfakefs (only needed to run unit tests)
Mark Saniscalchi David Wihl Ben Karl