Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Per iniziare a sviluppare applicazioni API di Bing Ads con Python, è possibile iniziare con gli esempi forniti o seguire una delle procedure dettagliate per un'applicazione Web o desktop .
Avrai bisogno di credenziali utente con accesso a Microsoft Advertising in ambiente di produzione o sandbox. Per l'ambiente di produzione è necessario un token di sviluppo di produzione. Tutti i client sandbox possono usare il token sviluppatore sandbox universale, ad esempio BBD37VB98. Per ulteriori informazioni, vedere Introduzione all'API e alla sandbox di Bing Ads.
Per eseguire l'autenticazione tramite OAuth, è anche necessario registrare un'applicazione e ottenere l'identificatore client corrispondente. Se si sviluppa un'applicazione Web, è inoltre necessario prendere nota del segreto client e dell'URI di reindirizzamento. Per ulteriori informazioni sulla registrazione di un'applicazione in produzione e sul flusso di concessione del codice di autorizzazione, vedere Autenticazione con OAuth e Autenticazione con gli SDK. Anche se nell'ambiente di produzione è necessario utilizzare il proprio ID applicazione (detto anche ID client), tutti i clienti di Microsoft Advertising possono utilizzare l'ID client pubblico "App di esempio di esercitazione" nella sandbox, ad esempio 00001111-aaaa-2222-bbbb-3333cccc4444. Per altre informazioni, vedi Sandbox.
Dipendenze
Bing Ads Python SDK supporta Python 3.8 o versione successiva. È consigliabile installare ed eseguire una delle versioni supportate.
L'SDK basato su REST dipende dai seguenti pacchetti, che vengono installati automaticamente:
- pydantic (>=2.0.0): modelli di dati tipizzati per tutti gli oggetti API
- requests — Trasporto HTTP
- Typing-extensions (>=4.0.0)
Installare l'SDK
Per installare Bing Ads Python SDK per la prima volta, eseguire il comando seguente dall'IDE o dal prompt della riga di comando.
pip.exe install msads
Per verificare che Bing Ads Python SDK sia installato, eseguire le operazioni seguenti. Dovresti vedere msads (<versione>) nell'elenco degli output.
pip.exe list
Se Bing Ads Python SDK è già installato, è possibile eseguire questo comando per ottenere i bit più recenti.
pip.exe install --upgrade msads
Procedure dettagliate
Dopo aver installato Bing Ads Python SDK , è possibile scaricare gli esempi da GitHub o seguire una delle procedure dettagliate dell'applicazione per una procedura dettagliata: Applicazione Web API Bing Ads in Python o Procedura dettagliata: applicazione desktop API Bing Ads nell'applicazione Python .
Uso dell'SDK REST
Python SDK di Bing Ads comunica con l'API REST di Microsoft Advertising utilizzando classi client generate da OpenAPI supportate da modelli pydantici . L'utente interagisce con l'API tramite un'istanza ServiceClient , che gestisce automaticamente le intestazioni di autenticazione, il routing degli endpoint e l'invio dei metodi.
Configurazione di un ServiceClient
Crea un ServiceClient passando il nome del servizio, la versione dell'API, i dati di autorizzazione e l'ambiente di destinazione.
from bingads.service_client import ServiceClient
campaign_service = ServiceClient(
service='CampaignManagementService',
version=13,
authorization_data=authorization_data,
environment=ENVIRONMENT, # 'production' or 'sandbox'
)
Sono supportati i nomi dei servizi seguenti: CampaignManagementService, BulkService, ReportingService, , CustomerManagementServiceCustomerBillingServicee AdInsightService.
Creazione di oggetti
Importare classi di modelli direttamente da openapi_client.models.campaign e crearne un'istanza con argomenti parole chiave. Non ci sono ArrayOf* tipi di wrapper: usa semplici elenchi Python ovunque un campo accetti più elementi.
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'],
)
Per i tipi derivati, ad esempio ExpandedTextAd, è possibile creare direttamente un'istanza della sottoclasse concreta, senza chiamate di factory o codifica speciale. I parametri personalizzati e altri oggetti nidificati possono essere impostati in linea tramite il costruttore.
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]
Chiamata delle operazioni del servizio
Compilare un oggetto richiesta e passarlo al metodo corrispondente in ServiceClient. I metodi utilizzano la denominazione snake_case.
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]
Autenticazione
L'SDK REST utilizza l'intestazione HTTP standard Authorization: Bearer <token> . Il flusso OAuth, ovvero concessione del codice di autorizzazione, gestione dei token di aggiornamento e archiviazione dei token, è identico all'SDK SOAP. Per informazioni dettagliate, consulta Autenticazione con gli SDK.
Gestione di errori
Gli errori del openapi_client servizio vengono generati a partire ApiException dal pacchetto. L'eccezione espone il codice di stato HTTP e il corpo della risposta di errore.
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}")
Per informazioni sull'analisi degli errori batch restituiti nel corpo della risposta, vedere Gestione degli errori e delle eccezioni del servizio.
Vedere anche
Librerie client dell'API di Microsoft Advertising
Esempi di codice API di Microsoft Advertising
Indirizzi dei servizi Web dell'API di Microsoft Advertising
Gestione degli errori e delle eccezioni del servizio
Sandbox