Python

Google proporciona una biblioteca cliente de Python para interactuar con la API de Ad Manager. Te recomendamos que uses la biblioteca cliente con PyPI.

Para comenzar, crea un proyecto nuevo en el IDE que elijas o agrega la dependencia a un proyecto existente. Google publica artefactos de bibliotecas cliente en PyPI como google-ads-admanager.

pip install google-ads-admanager

Configura las credenciales

La biblioteca cliente de Python usa OAuth2 y credenciales predeterminadas de la aplicación (ADC) para autenticarse.

ADC busca las credenciales en orden en las siguientes ubicaciones:

  1. Con la variable de entorno GOOGLE_APPLICATION_CREDENTIALS.
  2. Credenciales de usuario configuradas a través de Google Cloud CLI (gcloud CLI)
  3. Cuando se ejecuta en Google Cloud, la cuenta de servicio conectada al recurso de Google Cloud

Para crear y configurar tus credenciales de ADC, consulta Autenticación.

Realiza tu primera solicitud

Cada servicio tiene un objeto ServiceClient con métodos síncronos y asíncronos para cada método REST. En el siguiente ejemplo, se lee un Network de forma síncrona.



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)

Para ver ejemplos de otros métodos y recursos, consulta el repositorio de GitHub googleapis/google-cloud-python.

Registra las solicitudes y respuestas HTTP

La biblioteca cliente de Python usa la biblioteca logging estándar de Python para registrar solicitudes y respuestas HTTP. De forma predeterminada, el registro está inhabilitado.

Para habilitar el registro, configura la variable de entorno GOOGLE_SDK_PYTHON_LOGGING_SCOPE. Esta variable de entorno configura el manejo de eventos de registro en el nivel logging.DEBUG o superior.

# 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

Como alternativa, puedes usar el módulo logging de Python:

import logging

from google.ads import admanager_v1

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

Soluciona errores

Todos los errores de la API extienden la clase base GoogleAPIError.

El campo motivo del error identifica de forma exclusiva los tipos de error. Usa este campo para determinar cómo manejar el error.

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

Los errores de la API de Ad Manager también incluyen un requestId único que puedes proporcionar al equipo de asistencia para obtener ayuda con la solución de problemas. En el siguiente ejemplo, se extrae el requestId de 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'])

Establece la configuración del proxy

La biblioteca cliente de Python respeta la configuración de las variables de entorno http_proxy y https_proxy.