Cette bibliothèque client simplifie l'accès à l'API SOAP de Google Ad Manager. La bibliothèque fournit des moyens simples de stocker votre authentification et de créer des clients de service Web SOAP. Il contient également des exemples de code pour vous aider à démarrer l'intégration avec nos API.
Téléchargez et installez la bibliothèque
setuptools est un pré-requis pour l'installation de la bibliothèque googleads
Il est recommandé d'installer la bibliothèque et ses dépendances depuis PyPI en utilisant pip. Cela peut être accompli avec une seule commande :
$ pip install googleads
Comme alternative, vous pouvez télécharger la bibliothèque sous forme d'archive tar. Pour démarrer l'installation, accédez au répertoire contenant votre bibliothèque client décompressée téléchargée et exécutez le script "setup.py" comme suit :
$ python setup.py build install
Copiez le fichier googleads.yaml dans votre répertoire personnel.
Ceci sera utilisé pour stocker les informations d'identification et d'autres paramètres qui peuvent être chargés pour initialiser un client.
Configurez vos informations d'identification OAuth2
L'API Ad Manager utilise OAuth2 comme authentification
mécanisme. Suivez le guide approprié ci-dessous en fonction de votre cas d'utilisation.
Si vous accédez à une API en utilisant vos propres informations d'identification...
Si vous accédez à une API au nom de clients...
Développement d'une application Web (Ad Manager)
Utiliser Ad Manager
Vous pouvez trouver des exemples de code pour les dernières versions d'Ad Manager sur la page des versions.
Vous pouvez également trouver des exemples d'Ad Manager dans le répertoire d'exemples de ce dépôt.
Il est possible de mettre en cache vos informations d'authentification API. La bibliothèque comprend un exemple de fichier montrant comment procéder, nommé googleads.yaml
. Remplissez les champs correspondant à l'API et aux fonctionnalités que vous prévoyez d'utiliser. Les méthodes LoadFromStorage
de la bibliothèque recherchent par défaut un fichier portant ce nom dans votre répertoire personnel, mais vous pouvez transmettre un chemin vers n'importe quel fichier avec le contenu yaml correct.
# Utilisez l'emplacement par défaut - votre répertoire personnel :ad_manager_client = ad_manager.AdManagerClient.LoadFromStorage()# Vous pouvez également transmettre l'emplacement du fichier :ad_manager_client = ad_manager.AdManagerClient.LoadFromStorage('C:MyDirectorygoogleads.yaml')
Si vous rencontrez des problèmes directement liés à la bibliothèque cliente, utilisez le système de suivi des problèmes.
Si vous rencontrez des problèmes liés à une API spécifique, utilisez les forums d'assistance produit :
Gestionnaire de publicités
La bibliothèque utilise le cadre de journalisation intégré de Python. Vous pouvez spécifier votre configuration via le fichier de configuration ; voir googleads.yaml pour un exemple.
Vous pouvez également spécifier manuellement votre configuration de journalisation. Par exemple, si vous souhaitez enregistrer vos interactions SOAP sur la sortie standard et que vous utilisez la bibliothèque Soap Zeep, vous pouvez procéder comme suit :
logging.basicConfig(level=logging.INFO, format=googleads.util.LOGGER_FORMAT)logging.getLogger('googleads.soap').setLevel(logging.DEBUG)
Si vous souhaitez vous connecter à un fichier, vous devrez attacher un gestionnaire de journaux à cette source qui est configuré pour écrire la sortie dans un fichier.
Le plugin zeep utilisé pour la journalisation supprime les données sensibles de sa sortie. Si vous souhaitez que ces données soient incluses dans les journaux, vous devrez implémenter votre propre plugin de journalisation simple. Par exemple:
class DangerousZeepLogger(zeep.Plugin) : def ingress(self, enveloppe, http_headers, opération):logging.debug('Réponse entrante : n%s', etree.tostring(envelope, Pretty_print=True))enveloppe de retour, http_headers def egress(self, enveloppe, http_headers, opération, liaison_options):logging.debug('Réponse entrante : n%s', etree.tostring(envelope, Pretty_print=True))enveloppe de retour, http_headersad_manager_client.zeep_client.plugins.append(DangerousZeepLogger ())
Par défaut, les clients sont mis en cache car la lecture et la digestion du WSDL peuvent être coûteuses. Toutefois, la méthode de mise en cache par défaut nécessite une autorisation pour accéder à un système de fichiers local qui peut ne pas être disponible dans certains environnements d'hébergement tels qu'App Engine.
Vous pouvez transmettre une implémentation de zeep.cache.Base
à l'initialiseur AdManagerClient
pour modifier le comportement de mise en cache par défaut.
Par exemple, configurer un emplacement et une durée différents pour le fichier cache avec 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)
Vous pouvez également désactiver la mise en cache de la même manière avec Zeep
ad_manager_client = ad_manager.AdManagerClient( oauth2_client, application_name, network_code=network_code, cache=googleads.common.ZeepServiceProxy.NO_CACHE)
Cette bibliothèque ne prend en charge que 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