Démarrage à l’aide de Python avec l’API Bing Ads

Pour commencer à développer des applications API Bing Ads avec Python, vous pouvez commencer par les exemples fournis ou suivre l’une des procédures pas à pas pour une application web ou de bureau .

Vous aurez besoin d’informations d’identification d’utilisateur ayant accès à Microsoft Advertising en production ou en bac à sable. Pour l’environnement de production, vous aurez besoin d’un jeton de développeur de production. Tous les clients bac à sable peuvent utiliser le jeton de développeur de bac à sable universel, c’est-à-dire BBD37VB98. Pour plus d’informations, consultez Prise en main de l’API Bing Ads et dubac à sable.

Pour vous authentifier via OAuth, vous devez également inscrire une application et obtenir l’identificateur client correspondant. Vous devez également prendre note de la clé secrète client et de l’URI de redirection si vous développez une application web. Pour plus d’informations sur l’inscription d’une application en production et le flux d’octroi de code d’autorisation, consultez Authentification avec OAuth et Authentification avec les SDK. Bien qu’en production, vous deviez utiliser votre propre ID d’application (alias ID client), tous les clients Microsoft Advertising peuvent utiliser l’ID client public « Tutorial Sample App » dans le bac à sable, c’est-à-dire 00001111-aaaa-2222-bbbb-3333cccc4444. Pour plus d’informations, consultez Bac à sable.

Dépendances

Le SDK Bing Ads Python prend en charge Python 3.8 ou version ultérieure. Vous devez installer et exécuter l’une des versions prises en charge.

Le kit de développement logiciel (SDK) REST dépend des packages suivants, qui sont installés automatiquement :

Installer le kit de développement logiciel (SDK)

Pour installer le Kit de développement logiciel (SDK) Python Bing Ads pour la première fois, exécutez la commande suivante à partir de votre IDE ou de l’invite de ligne de commande.

pip.exe install msads

Pour vérifier que le kit de développement logiciel (SDK) Bing Ads Python est installé, exécutez la commande suivante. Vous devriez voir msads (<version>) dans la liste de sortie.

pip.exe list

Si le Kit de développement logiciel (SDK) Python Bing Ads est déjà installé, vous pouvez exécuter cette commande pour obtenir les derniers éléments.

pip.exe install --upgrade msads

Procédures pas à pas

Une fois que vous avez installé le kit de développement logiciel (SDK) Python Bing Ads, vous pouvez télécharger les exemples à partir de GitHub ou suivre l’une des procédures pas à pas de l’application pour une procédure pas à pas : l’application web de l’API Bing Ads en Python ou la procédure pas à pas : l’application de bureau de l’API Bing Ads dans l’application Python.

Utilisation du SDK REST

Le kit de développement logiciel (SDK) Python Bing Ads communique avec l’API REST de Microsoft Advertising à l’aide de classes clientes générées par OpenAPI et soutenues par des modèles Pydantic. Vous interagissez avec l’API via une instance ServiceClient, qui gère automatiquement les en-têtes d’authentification, le routage des points de terminaison et la distribution de méthodes.

Configuration d’un ServiceClient

Créez un ServiceClient en transmettant le nom du service, la version de l’API, les données d’autorisation et l’environnement cible.

from bingads.service_client import ServiceClient

campaign_service = ServiceClient(
    service='CampaignManagementService',
    version=13,
    authorization_data=authorization_data,
    environment=ENVIRONMENT,  # 'production' or 'sandbox'
)

Les noms de service suivants sont pris en charge : CampaignManagementService, CustomerBillingServiceCustomerManagementServiceBulkServiceReportingServiceet .AdInsightService

Création d’objets

Importez des classes de modèles directement à partir de openapi_client.models.campaign et instancier-les avec des arguments de mot clé. Il n’y a pas ArrayOf* de types de wrapper : utilisez des listes Python simples partout où un champ accepte plusieurs éléments.

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'],
)

Pour les types dérivés tels que ExpandedTextAd, instancier directement la sous-classe concrète - aucun appel de fabrique ou codage spécial n’est requis. Les paramètres personnalisés et autres objets imbriqués peuvent être définis en ligne via le constructeur.

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]

Opérations de service d’appel

Générez un objet de requête et transmettez-le à la méthode correspondante sur le ServiceClient. Les méthodes utilisent snake_case nommage.

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]

Authentification

Le SDK REST utilise l’en-tête HTTP standard Authorization: Bearer <token> . Le flux OAuth (octroi de code d’autorisation, actualisation et stockage de jetons) est identique au SDK SOAP. Pour plus d’informations, consultez Authentification avec les SDK.

Gestion des erreurs

Les erreurs de service sont générées à partir ApiException du openapi_client package. L’exception expose le code de status HTTP et le corps de la réponse d’erreur.

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}")

Pour plus d’informations sur l’analyse des erreurs de lot renvoyées dans le corps de la réponse, consultez Gestion des erreurs et exceptions de service.

Voir aussi

Bibliothèques clientes d’API Bing Ads
Exemples de codes d’API Microsoft Advertising
Adresses du service web de l’API Microsoft Advertising
Gestion des erreurs et exceptions de service
Bac à sable