Introduzione all'uso di Python con l'API di Bing Ads

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:

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