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 des artefacts de bibliothèque cliente sur PyPI sous le nom google-ads-admanager.
requirements.txt
google-ads-admanager==0.10.4
Ligne de commande
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 l'authentification.
L'ADC recherche les identifiants dans l'ordre suivant :
- variable d'environnement
GOOGLE_APPLICATION_CREDENTIALS. - Identifiants utilisateur configurés avec Google Cloud CLI (gcloud CLI).
- Lors de l'exécution sur Google Cloud, le compte de service associé à la ressource Google Cloud.
Pour créer et configurer vos identifiants ADC, consultez Authentification.
Créer votre première demande
Chaque service possède 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.
Enregistrer les requêtes et les réponses HTTP
La bibliothèque cliente Python utilise la bibliothèque Python standard logging 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 d'API étendent la classe de base GoogleAPIError.
Le champ "Raison 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 concernant la résolution des problèmes. L'exemple suivant extrait 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.