Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Para empezar a desarrollar aplicaciones de API de Bing Ads con Python, puede empezar con los ejemplos proporcionados o seguir uno de los tutoriales de aplicación para una aplicación web o de escritorio .
Necesitará credenciales de usuario con acceso a Microsoft Advertising en producción o espacio aislado. Para el entorno de producción, necesitará un token de desarrollador de producción. Todos los clientes de espacio aislado pueden usar el token de desarrollador de espacio aislado universal, es decir, BBD37VB98. Para obtener más información, consulte Introducción a la API y elespacio aislado de Bing Ads.
Para autenticarse a través de OAuth, también debe registrar una aplicación y obtener el identificador de cliente correspondiente. También debe tomar nota del secreto de cliente y el URI de redirección si está desarrollando una aplicación web. Para obtener más información sobre cómo registrar una aplicación en producción y el flujo de concesión de código de autorización, consulte Autenticación con OAuth y Autenticación con los SDK. Aunque en producción debe usar su propio identificador de aplicación (por ejemplo, el identificador de cliente), todos los clientes de Microsoft Advertising pueden usar el identificador de cliente público "Aplicación de ejemplo de tutorial" en el espacio aislado, es decir, 00001111-aaaa-2222-bbbb-3333cccc4444. Para obtener más información, consulte Espacio aislado.
Dependencias
El SDK de Python de Bing Ads admite Python 3.8 o posterior. Debe instalar y ejecutar una de las versiones admitidas.
El SDK basado en REST depende de los siguientes paquetes, que se instalan automáticamente:
- pydantic (>=2.0.0): modelos de datos con tipo para todos los objetos de API
- solicitudes : transporte HTTP
- typing-extensions (>=4.0.0)
Instalar el SDK
Para instalar el SDK de Python de Bing Ads por primera vez, ejecute lo siguiente desde el IDE o el símbolo del sistema de la línea de comandos.
pip.exe install msads
Para confirmar que el SDK de Python de Bing Ads está instalado, ejecute lo siguiente. Debería ver msads (<versión>) en la lista de salida.
pip.exe list
Si ya tiene instalado el SDK de Python de Bing Ads, puede ejecutar este comando para obtener los bits más recientes.
pip.exe install --upgrade msads
Tutoriales
Una vez que tenga instalado el SDK de Python de Bing Ads, puede descargar los ejemplos de GitHub o seguir uno de los tutoriales de aplicación de un tutorial: Aplicación web de api de Bing Ads en Python o Tutorial: Aplicación de escritorio de API de Bing Ads en una aplicación de Python .
Uso del SDK de REST
El SDK de Python de Bing Ads se comunica con la API REST de Microsoft Advertising mediante clases de cliente generadas por OpenAPI respaldadas por modelos pydantic . Interactúe con la API a través de una instancia de ServiceClient , que controla automáticamente los encabezados de autenticación, el enrutamiento de puntos de conexión y el envío de métodos.
Configuración de un serviceclient
Cree un ServiceClient pasando el nombre del servicio, la versión de api, los datos de autorización y el entorno de destino.
from bingads.service_client import ServiceClient
campaign_service = ServiceClient(
service='CampaignManagementService',
version=13,
authorization_data=authorization_data,
environment=ENVIRONMENT, # 'production' or 'sandbox'
)
Se admiten los siguientes nombres de servicio: CampaignManagementService, BulkService, ReportingService, CustomerManagementService, CustomerBillingServicey AdInsightService.
Creación de objetos
Importe clases de modelo directamente desde openapi_client.models.campaign y cree instancias de ellas con argumentos de palabra clave. No hay ningún ArrayOf* tipo de contenedor: use listas de Python sin formato siempre que un campo acepte varios elementos.
from openapi_client.models.campaign import *
campaign = Campaign(
name="Women's Shoes",
daily_budget=50.0,
budget_type=BudgetLimitType.DAILYBUDGETSTANDARD,
time_zone='PacificTimeUSCanadaTijuana',
languages=['All'],
)
En el caso de tipos derivados como ExpandedTextAd, cree una instancia de la subclase concreta directamente: no se requieren llamadas de fábrica ni codificación especial. Los parámetros personalizados y otros objetos anidados se pueden establecer en línea a través del constructor.
expanded_text_ad = ExpandedTextAd(
title_part1='Contoso',
title_part2='Quick & Easy Setup',
title_part3='Seamless Integration',
text='Find New Customers & Increase Sales!',
text_part2='Start Advertising on Contoso Today.',
path1='seattle',
path2='shoe sale',
# With FinalUrls you can separate the tracking template, custom parameters,
# and landing page URLs.
final_urls=['https://www.contoso.com/womenshoesale'],
# Final Mobile URLs can also be used if you want to direct the user to a
# different page for mobile devices.
final_mobile_urls=['https://mobile.contoso.com/womenshoesale'],
# Set custom parameters that are specific to this ad.
url_custom_parameters=CustomParameters(
parameters=[
CustomParameter(key='promoCode', value='PROMO' + str(index)),
CustomParameter(key='season', value='summer'),
]
),
)
ads = [expanded_text_ad]
Operaciones de servicio de llamada
Compile un objeto de solicitud y páselo al método correspondiente en ServiceClient. Los métodos usan snake_case nomenclatura.
add_request = AddCampaignsRequest(
account_id=authorization_data.account_id,
campaigns=[campaign],
)
response = campaign_service.add_campaigns(add_campaigns_request=add_request)
campaign_id = response.campaign_ids[0]
Autenticación
El SDK de REST usa el encabezado HTTP estándar Authorization: Bearer <token> . El flujo de OAuth (concesión de código de autorización, control de tokens de actualización y almacenamiento de tokens) es idéntico al SDK de SOAP. Para obtener más información, consulte Autenticación con los SDK.
Control de errores
Los errores de servicio se generan a ApiException partir del openapi_client paquete. La excepción expone el código de estado HTTP y el cuerpo de la respuesta de error.
from openapi_client.exceptions import ApiException
try:
response = campaign_service.GetCampaignsByAccountId(
AccountId=authorization_data.account_id,
CampaignType='Search'
)
except ApiException as ex:
print(f"HTTP status {ex.status}: {ex.body}")
Para obtener información sobre el análisis de errores por lotes devueltos en el cuerpo de la respuesta, vea Control de errores y excepciones del servicio.
Consulta también
Bibliotecas de cliente de api de Bing Ads
Ejemplos de código de api de Bing Ads
Direcciones del servicio web de la API de Bing Ads
Control de errores y excepciones del servicio
Espacio aislado