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:
- Con la variable de entorno
GOOGLE_APPLICATION_CREDENTIALS
. - Credenciales de usuario configuradas a través de Google Cloud CLI (gcloud CLI)
- 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
.