Freigeben über


Erste Schritte bei der Verwendung von Python mit der Bing Ads-API

Um mit der Entwicklung von Bing Ads-API-Anwendungen mit Python zu beginnen, können Sie mit den bereitgestellten Beispielen beginnen oder eine der exemplarischen Vorgehensweisen für eine Web - oder Desktopanwendung befolgen.

Sie benötigen Benutzeranmeldeinformationen mit Zugriff auf Microsoft Advertising entweder in der Produktion oder sandbox. Für die Produktionsumgebung benötigen Sie ein Produktionsentwicklertoken. Alle Sandboxclients können das universelle Sandbox-Entwicklertoken verwenden, d. h. BBD37VB98. Weitere Informationen finden Sie unter Erste Schritte mit der Bing Ads-API und Sandbox.

Für die Authentifizierung über OAuth müssen Sie auch eine Anwendung registrieren und den entsprechenden Clientbezeichner abrufen. Sie müssen auch den geheimen Clientschlüssel und den Umleitungs-URI notieren, wenn Sie eine Webanwendung entwickeln. Weitere Informationen zum Registrieren einer Anwendung in der Produktion und zum Autorisierungscode-Genehmigungsflow finden Sie unter Authentifizierung mit OAuth und Authentifizierung mit den SDKs. Obwohl Sie in der Produktion Ihre eigene Anwendungs-ID (als Client-ID bezeichnet) verwenden müssen, können alle Microsoft Advertising-Kunden die öffentliche Client-ID "Tutorial-Beispiel-App" in der Sandbox verwenden, d. h. 00001111-aaaa-2222-bbbb-3333cccc4444. Weitere Informationen finden Sie unter Sandbox.

Abhängigkeiten

Das Bing Ads Python SDK unterstützt Python 3.8 oder höher. Sie sollten eine der unterstützten Versionen installieren und ausführen.

Das REST-basierte SDK hängt von den folgenden Paketen ab, die automatisch installiert werden:

Das SDK installieren

Um das Bing Ads Python SDK zum ersten Mal zu installieren, führen Sie entweder an Ihrer IDE oder an der Eingabeaufforderung folgendes aus.

pip.exe install msads

Führen Sie Folgendes aus, um zu bestätigen, dass das Bing Ads Python SDK installiert ist. Msads (<Version>) sollte in der Ausgabeliste angezeigt werden.

pip.exe list

Wenn Sie das Bing Ads Python SDK bereits installiert haben, können Sie diesen Befehl ausführen, um die neuesten Bits abzurufen.

pip.exe install --upgrade msads

Vorgehensweisen

Nachdem Sie das Bing Ads Python SDK installiert haben, können Sie entweder die Beispiele von GitHub herunterladen oder eine der exemplarischen Vorgehensweisen der Anwendung befolgen, um eine exemplarische Vorgehensweise: Bing Ads-API-Webanwendung in Python oder eine exemplarische Vorgehensweise: Bing Ads-API-Desktopanwendung in Python zu erhalten.

Verwenden des REST SDK

Das Bing Ads Python SDK kommuniziert mit der Microsoft Advertising-REST-API mithilfe von OpenAPI-generierten Clientklassen, die von pydantischen Modellen unterstützt werden. Sie interagieren mit der API über eine ServiceClient-instance, die Authentifizierungsheader, Endpunktrouting und Methodenverteilung automatisch verarbeitet.

Einrichten eines ServiceClient

Erstellen Sie einen ServiceClient , indem Sie den Dienstnamen, die API-Version, die Autorisierungsdaten und die Zielumgebung übergeben.

from bingads.service_client import ServiceClient

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

Die folgenden Dienstnamen werden unterstützt: CampaignManagementService, BulkService, ReportingService, CustomerManagementService, CustomerBillingServiceund AdInsightService.

Erstellen von Objekten

Importieren Sie Modellklassen direkt aus , openapi_client.models.campaign und instanziieren Sie sie mit Schlüsselwort (keyword) Argumenten. Es gibt keine ArrayOf* Wrappertypen. Verwenden Sie einfache Python-Listen, wenn ein Feld mehrere Elemente akzeptiert.

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

Für abgeleitete Typen wie ExpandedTextAd instanziieren Sie die konkrete Unterklasse direkt – es sind keine Factoryaufrufe oder eine spezielle Codierung erforderlich. Benutzerdefinierte Parameter und andere geschachtelte Objekte können über den Konstruktor inline festgelegt werden.

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]

Aufrufen von Dienstvorgängen

Erstellen Sie ein Anforderungsobjekt, und übergeben Sie es an die entsprechende Methode auf dem ServiceClient. Methoden verwenden snake_case Benennung.

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]

Authentifizierung

Das REST SDK verwendet den HTTP-Standardheader Authorization: Bearer <token> . Der OAuth-Fluss – Autorisierungscodezuweisung, Aktualisierungstokenbehandlung und Tokenspeicher – ist identisch mit dem SOAP SDK. Weitere Informationen finden Sie unter Authentifizierung mit den SDKs.

Fehlerbehandlung

Dienstfehler werden ab ApiException dem openapi_client Paket ausgelöst. Die Ausnahme macht den HTTP-status Code und den Fehlerantworttext verfügbar.

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

Informationen zum Analysieren von Batchfehlern, die im Antworttext zurückgegeben werden, finden Sie unter Behandeln von Dienstfehlern und -ausnahmen.

Siehe auch

Bing Ads-API-Clientbibliotheken
Codebeispiele für die Bing Ads-API
Adressen des Bing Ads-API-Webdiensts
Behandeln von Dienstfehlern und -ausnahmen
Sandbox