Python

Google fournit une bibliothèque cliente Python pour interagir avec l'API Ad Manager. Nous vous recommandons d'utiliser la bibliothèque cliente avec PyPI.

Pour commencer, créez un projet dans l'IDE de votre choix ou ajoutez la dépendance à un projet existant. Google publie les artefacts de la bibliothèque cliente sur PyPI sous la forme google-ads-admanager.

pip install google-ads-admanager

Configurer les identifiants

La bibliothèque cliente Python utilise OAuth2 et les identifiants par défaut de l'application (ADC) pour s'authentifier.

L'ADC recherche les identifiants dans l'ordre suivant:

  1. Variable d'environnement GOOGLE_APPLICATION_CREDENTIALS.
  2. Identifiants utilisateur configurés via la Google Cloud CLI (gcloud CLI)
  3. Lorsqu'il s'exécute sur Google Cloud, le compte de service associé à la ressource Google Cloud.

Pour créer et configurer vos identifiants ADC, consultez la section Authentification.

Envoyer votre première requête

Chaque service dispose d'un objet ServiceClient avec des méthodes synchrones et asynchrones pour chaque méthode REST. L'exemple suivant lit un Network de manière synchrone.



from google.ads import admanager_v1


def sample_get_network():
    # Create a client
    client = admanager_v1.NetworkServiceClient()

    # Initialize request argument(s)
    request = admanager_v1.GetNetworkRequest(
        name="networks/[NETWORK_CODE]",
    )

    # Make the request
    response = client.get_network(request=request)

    # Handle the response
    print(response)

Pour obtenir des exemples d'autres méthodes et ressources, consultez le dépôt GitHub googleapis/google-cloud-python.

Journaliser les requêtes et réponses HTTP

La bibliothèque cliente Python utilise la bibliothèque Python logging standard pour consigner les requêtes et les réponses HTTP. Par défaut, la journalisation est désactivée.

Pour activer la journalisation, définissez la variable d'environnement GOOGLE_SDK_PYTHON_LOGGING_SCOPE. Cette variable d'environnement configure la gestion des événements de journalisation au niveau logging.DEBUG ou supérieur.

# Log only Ad Manager API events
export GOOGLE_SDK_PYTHON_LOGGING_SCOPE=google.ads.admanager_v1

# Log all Google library events
export GOOGLE_SDK_PYTHON_LOGGING_SCOPE=google

Vous pouvez également utiliser le module Python logging:

import logging

from google.ads import admanager_v1

logger = logging.getLogger("google.ads.admanager_v1")
logger.addHandler(logging.StreamHandler())
logger.setLevel(logging.DEBUG)

Gérer les erreurs

Toutes les erreurs de l'API étendent la classe de base GoogleAPIError.

Le champ "Motif de l'erreur" identifie de manière unique les types d'erreurs. Utilisez ce champ pour déterminer comment gérer l'erreur.

try:
  network = client.get_network(request=request)
  print(network)
except GoogleAPIError as e:
  # Handle error
  print(e.reason)

Les erreurs de l'API Ad Manager incluent également un requestId unique que vous pouvez fournir à l'assistance pour obtenir de l'aide pour le dépannage. L'exemple suivant extrait le requestId d'un GoogleAPIError :

except GoogleAPIError as e:
  requestInfoType = "type.googleapis.com/google.rpc.RequestInfo"
  requestInfo = [detail for detail in e.details if detail['@type'] == requestInfoType][0]
  print(requestInfo['requestId'])

Configurer les paramètres de proxy

La bibliothèque cliente Python respecte les paramètres des variables d'environnement http_proxy et https_proxy.