Freigeben über


Behandeln von Dienstfehlern und -ausnahmen

In diesem Artikel werden Details zur Fehlerbehandlung und Problembehandlung für Ihre Anwendung beschrieben.

Tipp

Stellen Sie beim Erstellen einer SOAP-Anforderungsnachricht sicher, dass die Elemente in derselben Reihenfolge wie in der Webdienstbeschreibungssprache (WSDL) definiert sind. Wenn die erforderlichen Elemente nicht in der richtigen Reihenfolge sind, schlägt der Aufruf fehl. Wenn die optionalen Elemente nicht in der richtigen Reihenfolge sind, kann der Aufruf fehlschlagen, oder die Elemente werden ignoriert. Weitere Informationen finden Sie unter SOAP XML-Elementreihenfolge.

Häufige API-Fehler

Im Folgenden finden Sie einige Tipps zur Behandlung häufig auftretender Dienstfehler. Eine umfassende Liste der Bing Ads API-Fehlercodes finden Sie unter Vorgangsfehlercodes.

Code 105

Gibt in der Regel die Verwendung eines falschen Zugriffstokens (AuthenticationToken-Headerelement) oder eines Entwicklertokens für die Zielumgebung an. Ihre Anmeldeinformationen können beispielsweise in der Produktion gültig sein. Wenn Sie jedoch die Sandbox als Ziel verwenden, würden Sie Code 105 beobachten.

Code 106

Gibt in der Regel an, dass die Anmeldeinformationen zwar für die Zielumgebung korrekt sind, der Benutzer jedoch keinen Zugriff auf eine der in der Anforderung angegebenen Entitäten hat. Beispielsweise würden Sie diesen Fehler beim Aufrufen von SubmitGenerateReportRequest beobachten, wenn der Benutzer nicht über Berechtigungen für das angegebene Konto verfügt.

Code 117

Wenn Sie den Grenzwert für Dienstaufrufe überschreiten, wird der folgende Fehler angezeigt:

  • Numerischer Fehlercode: 117
  • Symbolischer Fehlercode: CallRateExceed
  • Nachricht: Sie haben die Anzahl der Anrufe überschritten, die Sie in einer Minute tätigen dürfen. Bitte reduzieren Sie die Anzahl der Anrufe, die Sie pro Minute tätigen.

Wenn Sie diesen Fehler feststellen, können Sie die Anforderung nach 60 Sekunden erneut unter dem Grenzwert übermitteln.

Interner Fehler

Gelegentlich gibt der Dienst möglicherweise einen internen Fehler wie folgt zurück:

<OperationError>
  <Code>0</Code>
  <Details i:nil="true"/>
  <ErrorCode>InternalError</ErrorCode>
  <Message>An internal error has occurred.</Message>
</OperationError>

Hier sind einige mögliche interne Fehlerszenarien:

  • Dies ist ein vorübergehendes Systemproblem, und Es gibt nichts, was Sie tun können. Wenn derselbe Aufruf zuvor für Sie funktioniert hat, versuchen Sie es später erneut, falls wir das Problem auf serverseitiger Seite behoben haben.
  • Der Vorgang wurde nicht ordnungsgemäß einem umsetzbaren Fehlercode zugeordnet. Wenn Clients etwas tun können, um das Problem zu beheben, sollte die Bing Ads-API einen umsetzbaren Fehlercode zurückgeben. Wenn Sie den internen Fehler immer wieder beobachten, wenden Sie sich mit Details an den Support.

HTTP 500

Alle Bing Ads API-Dienstvorgänge entsprechen der SOAP 1.1-Spezifikation (Simple Object Access Protocol), wobei Fehler mit einem HTTP 500-Code zurückgegeben werden. Weitere Informationen finden Sie z. B. im Folgenden.

HTTP/1.1 500 Internal Server Error

Dies ist für sich genommen nicht repräsentativ für einen umsetzbaren Code, und Sie sollten die Fehlerdetails überprüfen, um weitere Informationen zum spezifischen Fehler zu erhalten.

Erstellen einer abstrakten Klasse nicht möglich

Sie können keine instance einer Basisklasse wie Ad erstellen. Sie müssen eine der abgeleiteten Klassen instanziieren, z. B. ExpandedTextAd.

Warum erhalte ich eine leere URL aus dem Aufruf der Berichts-API?

Selbst wenn der Berichtsstatus auf Success festgelegt ist, kann das ReportDownloadUrl-Element null sein, wenn keine Daten für die übermittelten Berichtsparameter verfügbar sind. Wenn in der Microsoft Advertising-Webanwendung Leistungsdaten für den gleichen Datumsbereich und die gleichen Filterkriterien angezeigt werden, wenden Sie sich mit Details an den Support.

Häufige OAuth-Fehler

Im Folgenden finden Sie einige Tipps zum Behandeln häufiger Autorisierungsfehler, die möglicherweise auftreten.

AADSTS-Fehler

Die AADSTS-Fehlercodes und -Meldungen können sich ändern. Die aktuellsten Informationen finden Sie auf der https://login.microsoftonline.com/error Seite nach AADSTS-Fehlerbeschreibungen, Korrekturen und einigen vorgeschlagenen Problemumgehungen.

Suchen Sie nach dem numerischen Teil des zurückgegebenen Fehlercodes. Wenn Sie beispielsweise den Fehlercode "AADSTS650052" erhalten haben, suchen Sie https://login.microsoftonline.com/error nach "650052". Sie können auch direkt mit einem bestimmten Fehler verknüpfen, indem Sie der URL die Fehlercodenummer hinzufügen: https://login.microsoftonline.com/error?code=650052.

Einige der häufigsten AADSTS-Fehler, z. B. AADSTS50011, AADSTS650052 und AADSTS700016, werden unten ausführlicher beschrieben.

AADSTS50011

Der AADSTS50011 Fehler kann innerhalb einer JSON-Zeichenfolge zurückgegeben werden, wenn Zugriffstoken mit dem Microsoft Identity Platform-Endpunkt wie folgt angefordert werden.

{"error":"invalid_client","error_description":"AADSTS50011: The reply url specified in the request
does not match the reply urls configured for the application: 'foo'.\r\nTrace ID:
x\r\nCorrelation ID: x\r\nTimestamp: 2019-05-10
17:18:23Z","error_codes":[50011],"timestamp":"2019-05-10
17:18:23Z","trace_id":"x","correlation_id":"x"}

Ein ungültiger Umleitungs-URI-Fehler kann auch als Text im Browserfenster zurückgegeben werden, wenn Sie die Benutzereinwilligung wie folgt anfordern.

invalid_request: Der angegebene Wert für den Eingabeparameter "redirect_uri" ist ungültig. Der erwartete Wert ist ein URI, der einem für diese Clientanwendung registrierten Umleitungs-URI entspricht.

Wenn Sie diesen Fehler feststellen, ist entweder Ihr Umleitungs-URI nicht ordnungsgemäß registriert, oder Ihre Anwendung verwendet nicht den registrierten Umleitungs-URI.

AADSTS650052

Der 650052 Fehlercode kann mit der Meldung "Die App benötigt Zugriff auf einen Dienst ("https://ads.microsoft.com") dass Ihr organization "{organization}" nicht abonniert oder aktiviert wurde."

Wenn Sie diesen Fehler feststellen, stellen Sie sicher, dass Mindestens einer der Administratorbenutzer aus Ihrem Azure AAD-Mandanten in der Microsoft Advertising-Webanwendung für Geschäftskonten hinzugefügt und aktiviert wurde. Wenden Sie sich an den Support , um weitere Unterstützung zu erhalten.

AADSTS700016

Der 700016 Fehlercode kann mit der Meldung "Anwendung mit dem Bezeichner '{appIdentifier}' wurde im Verzeichnis '{tenantName}' nicht gefunden" zurückgegeben werden.

Wenn Sie über eine ältere Anwendungs-ID (client-ID) verfügen, die als Hexadezimalwert formatiert ist, z. B. 00000000012345A67, müssen Sie eine neue Anwendung registrieren . Gültige Anwendungs-IDs für die Verwendung mit dem Microsoft Identity Platform sind als GUID mit Bindestrichen formatiert, z. B. 00001111-aaaa-2222-bbbb-3333cccc4444. Wenn im Azure-Portal – App-Registrierungen keine vorhandene App angezeigt wird, ist dies ein weiterer Hinweis darauf, dass Sie sie durch eine neue App ersetzen sollten.

Ungültiger Umleitungs-URI

Ein ungültiger Umleitungs-URI-Fehler kann innerhalb einer JSON-Zeichenfolge zurückgegeben werden, wenn Zugriffstoken mit dem Live Connect Endpunkt wie folgt angefordert werden.

{"error":"invalid_grant","error_description":"The provided value for the 'redirect_uri' is not
valid. The value must exactly match the redirect URI used to obtain the authorization code."}

Ein ungültiger Umleitungs-URI-Fehler kann auch als Text im Browserfenster zurückgegeben werden, wenn Sie die Benutzereinwilligung wie folgt anfordern.

invalid_request: Der angegebene Wert für den Eingabeparameter "redirect_uri" ist ungültig. Der erwartete Wert ist ein URI, der einem für diese Clientanwendung registrierten Umleitungs-URI entspricht.

Wenn Sie diesen Fehler feststellen, ist entweder Ihr Umleitungs-URI nicht ordnungsgemäß registriert, oder Ihre Anwendung verwendet nicht den registrierten Umleitungs-URI.

Ungültige Gewährung

Ein invalid_grant Fehler kann zurückgegeben werden, wenn Sie versuchen, das Token mithilfe eines Bereichs zu aktualisieren, dem der Benutzer nicht zustimmt.

{
    "error":"invalid_grant",
    "error_description":"AADSTS70000: The request was denied because one or more scopes requested are unauthorized or expired. The user must first sign in and grant the client application access to the requested scope."
}

Ein invalid_grant Fehler kann auch zurückgegeben werden, wenn der Umleitungs-URI ungültig ist, das Aktualisierungstoken abgelaufen ist, der Benutzer sein Kennwort geändert hat oder das Token anderweitig widerrufen wurde.

{"error":"invalid_grant","error_description":"The user could not be authenticated or the grant is expired. The user must first sign in and if needed grant the client application access to the requested scope."}

Microsoft kann jederzeit ohne vorherige Warnung festlegen, dass die Zustimmung des Benutzers erneut erteilt werden sollte. Einige Szenarien liegen jedoch in Ihrer Kontrolle. Clients, die Apps in Diensten ausführen, die Regionen und Geräte wie Microsoft Azure umfassen, sollten eine Webanwendung mit einem geheimen Clientschlüssel registrieren . Sie können ein Aktualisierungstoken auf einem Gerät abrufen und es auf einem anderen aktualisieren, solange Sie über die gleiche Client-ID und denselben geheimen Clientschlüssel verfügen. Wenn Sie eine öffentliche Anwendung ohne einen geheimen Clientschlüssel registrieren, können Sie kein Aktualisierungstoken geräteübergreifend verwenden. Ein vertrauliches Token ist an den geheimen Clientschlüssel gebunden. Wenn Sie eine öffentliche Clientanwendungs-ID ohne geheimen Clientschlüssel verwendet haben, um ein Aktualisierungstoken in den USA abzurufen, und später versuchen, das Token in der EU-Region zu aktualisieren, würden Sie den invalid_grant Fehler feststellen.

Nicht gefundene Anwendung oder nicht autorisierter Client

Wenn Sie einen Fehler wie "unauthorized_client: Der Client ist nicht vorhanden" oder "Anwendung mit dem Bezeichner 'foo' wurde nicht im Verzeichnis 'bar' gefunden" feststellen, stellen Sie sicher, dass die Anwendung für die richtige Zielumgebung, d. h. produktion oder Sandbox, noch vorhanden ist.

Wenn Sie den Microsoft Identity Platform-Endpunkt mit einer Live SDK Anwendungs-ID im kurzen hexadezimalen Format aufrufen, z. B. 000000000012345A67, kann ein Fehler zurückgegeben werden. In diesem Fall müssen Sie eine neue Anwendung registrieren . Gültige Microsoft Identity Platform Anwendungs-IDs sind als GUID mit Bindestrichen formatiert, z. B. 00001111-aaaa-2222-bbbb-3333cccc4444. 

Wenn Sie die App im Azure-Portal registriert haben, stellen Sie im Abschnitt Unterstützte Kontotypen sicher, dass Sie Konten in einem beliebigen Organisationsverzeichnis und persönliche Microsoft-Konten ausgewählt haben. (Siehe Registrieren einer Anwendung) Wenn Sie diese Option während der ersteinrichtung nicht ausgewählt haben, erfordert die Azure-Portal möglicherweise, dass Sie eine neue Anwendung registrieren.

Anwendung, die nicht als mehrinstanzenfähige Anwendung konfiguriert ist

Möglicherweise wird der folgende Fehler angezeigt, wenn Ihre registrierte Anwendung auf einen bestimmten Mandanten beschränkt ist.

Application 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx' is not configured as a multi-tenant application. Usage of the /common endpoint is not supported for such applications created after '10/15/2018'. Use a tenant-specific endpoint or configure the application to be multi-tenant.

Wenn Sie die App im Azure-Portal registriert haben, stellen Sie im Abschnitt Unterstützte Kontotypen sicher, dass Sie Konten in einem beliebigen Organisationsverzeichnis und persönliche Microsoft-Konten ausgewählt haben. (Siehe Registrieren einer Anwendung) Wenn Sie diese Option während der ersteinrichtung nicht ausgewählt haben, erfordert die Azure-Portal möglicherweise, dass Sie eine neue Anwendung registrieren.

Kontaktieren des Supports

Das Microsoft Q&A-Forum steht der Entwicklercommunity zur Verfügung, um Fragen zu den Bing Ads-APIs und Microsoft Advertising-Skripts zu stellen und zu beantworten. Microsoft überwacht die Foren und beantwortet Fragen, die die Community noch nicht beantwortet hat.

Wichtig

Um sicherzustellen, dass Ihre Frage angezeigt wird, markieren Sie sie mit "advertising-api".

Wenn die Untersuchung sensible Konten oder persönliche Daten umfasst oder Wenn Sie die informationen, die Sie benötigen, um Ihr Problem über Microsoft Q&A zu lösen, nicht finden, wenden Sie sich an den Microsoft Advertising-Support.

Tipp

Um die Untersuchung zu beschleunigen, stellen Sie Unterstützung mit Details wie Entwicklungsumgebung, Fehlerhäufigkeit und Schritten zum Reproduzieren des Fehlers bereit.

Um Hilfe bei Aufrufen der Bing Ads API-Dienste zu erhalten, durchlaufen Sie diese Checkliste, und stellen Sie die Ergebnisse dem Supportteam zur Verfügung.

  • Wer versucht der Benutzer, den Dienst aufzurufen, z. B. wie lautet die Anmelde-E-Mail-Adresse?
  • Auf welche Konto-ID oder Kontonummer versucht der Benutzer zuzugreifen?
  • Welche Schritte sind erforderlich, um den Fehler zu reproduzieren? Schließen Sie die vollständige Anforderung, Antwort und den Zeitstempel ein, mit Ausnahme von privaten Anmeldeinformationen, z. B. Zugriffstoken.
  • Zielen Sie auf die Produktions- oder Sandboxumgebung ab? Stellen Sie sicher, dass Sie die richtigen App-Registrierungs- und Autorisierungsendpunkte für die Produktion und sandbox verwenden. Achten Sie ebenfalls darauf, die richtigen Webdienstadressen für dieselbe Umgebung zu verwenden.
  • Geben Sie an, ob die gleiche Anforderung in der Vergangenheit für Sie funktioniert hat, d. h. die historische Leistung.
  • Geben Sie an, ob Sie das Problem jetzt jedes Mal oder zeitweilig reproduzieren können.
  • Bei Problemen im Zusammenhang mit dem Massen- oder Berichterstellungsdienst fügen Sie die Ablaufverfolgung sowohl für die Anforderungs- als auch für status-Abrufvorgänge ein.
  • Geben Sie bei einem Authentifizierungsproblem im Zusammenhang mit dem Fehlercode 105 oder 106 auch die System-ID für die Anmeldeinformationen des Microsoft Advertising-Benutzers an. Informationen zum Abrufen der Benutzer-ID für den aktuellen Benutzer finden Sie im Schnellstarthandbuch .

Wenn Sie Hilfe beim Abrufen von Zugriffs- und Aktualisierungstoken für die Authentifizierung mit OAuth benötigen, durchlaufen Sie diese Prüfliste, und stellen Sie die Ergebnisse dem Supportteam zur Verfügung.

  • Wer versucht der Benutzer, sich zu authentifizieren, z. B. wie lautet die Anmelde-E-Mail-Adresse?
  • Auf welche Konto-ID oder Kontonummer versucht der Benutzer zuzugreifen?
  • Welche Schritte sind erforderlich, um den Fehler zu reproduzieren? Schließen Sie die vollständige Anforderung, Antwort und den Zeitstempel ein, mit Ausnahme privater Anmeldeinformationen, z. B. Zugriffstoken und geheimer Clientschlüssel.
  • Zielen Sie auf die Produktions- oder Sandboxumgebung ab? Stellen Sie sicher, dass Sie die richtigen App-Registrierungs- und Autorisierungsendpunkte für die Produktion und sandbox verwenden. Achten Sie ebenfalls darauf, die richtigen Webdienstadressen für dieselbe Umgebung zu verwenden.
  • Haben Sie eine native Oder Webanwendung registriert ? Clients, die Apps in Diensten ausführen, die Regionen und Geräte wie Microsoft Azure umfassen, sollten eine Webanwendung mit einem geheimen Clientschlüssel registrieren.
  • Wie lautet Ihre registrierte Anwendungs-ID (client_id)? Wenn Sie auch über ein Anwendungsgeheimnis (client_secret) verfügen, bestätigen Sie, dass Sie es festlegen, wenn Sie Zugriffstoken vom Autorisierungsendpunkt anfordern, aber nicht für andere Personen freigeben.
  • Führen Sie eine OAuth-Diagnoseintegritätsprüfung aus. Können Sie erfolgreich ein Zugriffstoken abrufen und den Schnellstartleitfaden für die Produktion oder Sandbox abschließen? Wenn dies nicht der Fall ist, wo schlägt die Authentifizierung fehl, und was ist der Fehler?

Übersicht über das Fehlermodell

Wenn ein Bing Ads API-Dienstvorgang fehlschlägt, wird ein Dienstfehler zurückgegeben, z. B. kann der Customer Management-Dienst ApiFault zurückgeben. Zu den Fehlerausnahmen gehören mindestens ein Fehlerobjekt. Die Fehlerobjekte enthalten die Details dazu, warum der Dienstvorgang fehlgeschlagen ist, und einen Code, der den Fehler eindeutig identifiziert. Eine Liste der Fehlercodes finden Sie unter Fehlercodes für Bing Ads API-Vorgang.

Verfügbare Fehler- und Datenobjekte variieren je nach Dienst. In dieser Tabelle werden das Fehlermodell und Links zu Fehlerdatenobjekten für jeden Dienst beschrieben.

Dienst Beschreibung
Ad Insight Alle Ad Insight-Vorgänge können AdApiFaultDetail und ApiFaultDetail auslösen.
Masse Alle Massenvorgänge können AdApiFaultDetail und ApiFaultDetail auslösen.
Kampagnenmanagement Alle Kampagnenverwaltungsvorgänge können AdApiFaultDetail auslösen.

Einige Kampagnenverwaltungsvorgänge können auch ApiFaultDetail oder EditorialApiFaultDetail auslösen.

Weitere Informationen finden Sie unter Kampagnenverwaltungsdatenobjekte.
Kundenabrechnung Alle Kundenabrechnungsvorgänge können AdApiFaultDetail und ApiFault auslösen.

Einige Kundenabrechnungsvorgänge können auch ApiBatchFault auslösen.
Customer Relationship Management (CRM) Alle Kundenverwaltungsvorgänge können AdApiFaultDetail und ApiFault auslösen.
Reporting Alle Berichtsvorgänge können AdApiFaultDetail und ApiFaultDetail auslösen.

Hinweis

Alle Fehlerobjekte werden vom ApplicationFault-Objekt abgeleitet. Das ApplicationFault-Objekt definiert das TrackingId-Element , das den Protokolleintrag eindeutig identifiziert, der die Details des API-Aufrufs enthält. Wenn Sie sich an den Support wenden müssen, geben Sie die Nachverfolgungs-ID mit dem Datum und der Uhrzeit des Aufrufs des Dienstvorgangs an.

Teilerfolg

Partieller Erfolg bedeutet, dass beim Hinzufügen, Aktualisieren oder Löschen von Entitäten in Batches eines oder mehrerer Batches der Vorgang für einige erfolgreich und für einen Teil des Batches fehlschlägt.

Teilweiser Erfolg mit dem Massendienst

Wenn Sie Datensätze in eine Massendateihochladen, kann der Upload für einige Datensätze erfolgreich und für andere im Batch fehlschlagen. Wenn Sie GetBulkUploadUrl aufrufen, können Sie auswählen, ob Fehler in der Uploadergebnisdatei empfangen werden sollen.

Hinweis

Microsoft Advertising unterstützt nicht das Fehlerbehandlungsverhalten "alles oder nichts". Sie müssen dies auf der Clientseite behandeln.

Teilerfolg mit dem Kampagnenverwaltungsdienst

Bei den meisten Entitäten wird beim Aufrufen von Kampagnenverwaltungsdienstvorgängen teilweiser Erfolg unterstützt. Für jeden Listenindex, in dem keine Entität hinzugefügt wurde, ist das entsprechende Element NULL. Das PartialErrors-Element stellt ein Array von BatchError-Objekten dar, die Details für Entitäten enthalten, die nicht erfolgreich hinzugefügt, aktualisiert oder gelöscht wurden. Die Liste enthält nur einen BatchError für nicht erfolgreiche Versuche und keine NULL-Elemente am Index jeder erfolgreich hinzugefügten Entität. In ähnlicher Weise geben einige Vorgänge NestedPartialErrors als Liste von BatchErrorCollection oder als zweidimensionale BatchError zurück.

Hinweis

Der ApplyProductPartitionActions-Vorgang enthält PartialErrors in der Antwort. Teilerfolge werden jedoch nicht unterstützt. Entweder ist der gesamte Satz angeforderter Aktionen erfolgreich, und die AdGroupCriterionIds-Antwortliste ist vollständig aufgefüllt, oder alle schlagen fehl, und die PartialErrors-Antwortliste ist vollständig ausgefüllt.

.NET-Ausnahmen

Wenn Sie das Bing Ads .NET SDK verwenden, sollte Ihre Anwendung darauf vorbereitet sein, Bing Ads API-Servicelevelausnahmen, WCF-Ausnahmen und Bing Ads unten beschriebenen .NET SDK-Ausnahmen zu verarbeiten.

Informationen zur Problembehandlung bei . NET-Anwendungen finden Sie unter Problembehandlung für das .NET SDK.

WCF-Ausnahmen

Generische SOAP-Fehler, die nicht spezifisch für Bing Ads API sind, können ebenfalls ausgelöst werden und sollten von Ihrer Anwendung abgefangen werden. Beispielsweise können .NET-Anwendungen Windows Communication Foundation (WCF)-Ausnahmen wie Ausnahme, TimeoutException und CommunicationException auslösen. Informationen zu Ausnahmen, die Sie von WCF erwarten sollten, finden Sie unter Erwartete Ausnahmen.

Sie sollten die Close-Methode nicht im finally-Block aufrufen, um das Dienstobjekt freizugeben. Der Einwand besteht darin, dass die Close-Methode Ausnahmen auslösen kann. Wenn Close eine Ausnahme auslöst, müssen Sie die Abort-Methode aufrufen, um sicherzustellen, dass alle Ressourcen freigegeben werden. Andernfalls könnten Ressourcen auf dem Server kompromittiert werden. Es wird empfohlen, Close innerhalb des try-Blocks aufzurufen und Abort aus den abgefangenen Ausnahmen aufzurufen.

Aus demselben Grund wird die Verwendung der using-Anweisung nicht empfohlen. Weitere Informationen finden Sie unter Vermeiden von Problemen mit der Using-Anweisung.

.NET SDK-Ausnahmen

Die Bing Ads .NET SDK-Ausnahmen abstrahieren einige der Ausnahmen auf Servicelevel. Um die meisten Ausnahmen zu umgehen, können Sie es erneut versuchen, und wenden Sie sich an den Support, wenn das Problem nach mehreren Wiederholungsversuchen weiterhin besteht.

Ausnahme Namespaces Beschreibung
CouldNotDownloadResultFileException Microsoft.BingAds Diese Ausnahme wird vom internen SDK HttpService nach einem fehlgeschlagenen Versuch ausgelöst, eine Massen- oder Berichtsergebnisdatei herunterzuladen.
CouldNotUploadFileException Microsoft.BingAds Diese Ausnahme wird vom internen SDK HttpService nach einem fehlgeschlagenen Versuch ausgelöst, eine Massendatei hochzuladen.
OAuthTokenRequestException Microsoft.BingAds Diese Ausnahme wird ausgelöst, wenn vom Autorisierungsserver des Microsft-Kontos ein Fehler zurückgegeben wurde. Um diese Ausnahme zu beheben, können Sie zuerst die Stapelüberwachung überprüfen, um die Fehlerdetails anzuzeigen, falls Sie eine Aktion ausführen können, um das Problem zu beheben. Beispielsweise haben Sie möglicherweise eine ungültige Client-ID angegeben.
BulkOperationCouldNotBeCompletedException Microsoft.BingAds.V13.Bulk Diese Ausnahme wird ausgelöst, wenn versucht wurde, eine abgeschlossene Massenergebnisdatei abzufragen, und der Massendienst eine fehlgeschlagene status zurückgibt.
BulkOperationInProgressException Microsoft.BingAds.V13.Bulk Diese Ausnahme wird ausgelöst, wenn versucht wurde, eine Massenergebnisdatei herunterzuladen, die noch nicht verfügbar ist.
CouldNotGetBulkOperationStatusException Microsoft.BingAds.V13.Bulk Diese Ausnahme wird ausgelöst, wenn bulkServiceManager den Upload- oder Downloadvorgang nicht status nach mehreren Wiederholungen abrufen konnte.
CouldNotSubmitBulkDownloadException Microsoft.BingAds.V13.Bulk Diese Ausnahme wird vom BulkServiceManager ausgelöst, wenn der aufgerufene DownloadCampaignsByAccountIds-Dienstvorgang keine gültige Antwort zurückgibt.
CouldNotSubmitBulkUploadException Microsoft.BingAds.V13.Bulk Diese Ausnahme wird vom BulkServiceManager ausgelöst, wenn der aufgerufene GetBulkUploadUrl-Dienstvorgang keine gültige Antwort zurückgibt.
EntityReadException Microsoft.BingAds.V13.Bulk Diese Ausnahme wird ausgelöst, wenn versucht wird, Entitäten mithilfe von BulkFileReader aus einer Massendatei zu lesen. Um diese Ausnahme zu beheben, können Sie zuerst die Stapelüberwachung überprüfen, um die Fehlerdetails anzuzeigen, falls Sie eine Aktion ausführen können, um das Problem zu beheben. Beispielsweise kann die Massendatei, aus der Sie lesen möchten, in einem der Felder einen ungültigen Wert aufweisen.
EntityWriteException Microsoft.BingAds.V13.Bulk Diese Ausnahme wird ausgelöst, wenn versucht wird, Entitäten mithilfe von BulkFileWriter in eine Massendatei zu schreiben. Um diese Ausnahme zu beheben, können Sie zuerst die Stapelüberwachung überprüfen, um die Fehlerdetails anzuzeigen, falls Sie eine Aktion ausführen können, um das Problem zu beheben. Beispielsweise haben Sie möglicherweise einen ungültigen Wert für eine der Uploadentitäten angegeben.
CouldNotGetReportingDownloadStatusException Microsoft.BingAds.V13.Reporting Diese Ausnahme wird ausgelöst, wenn reportingServiceManager den Downloadvorgang nach mehreren Wiederholungen nicht status abrufen konnte.
CouldNotSubmitReportingDownloadException Microsoft.BingAds.V13.Reporting Diese Ausnahme wird vom ReportingServiceManager ausgelöst, wenn der aufgerufene SubmitGenerateReport-Dienstvorgang keine gültige Antwort zurückgibt.
ReportingOperationCouldNotBeCompletedException Microsoft.BingAds.V13.Reporting Diese Ausnahme wird ausgelöst, wenn versucht wurde, eine abgeschlossene Berichtsergebnisdatei abzufragen, und der Berichterstellungsdienst eine fehlgeschlagene status zurückgibt.
ReportingOperationInProgressException Microsoft.BingAds.V13.Reporting Diese Ausnahme wird ausgelöst, wenn versucht wurde, eine Berichtsergebnisdatei herunterzuladen, die noch nicht verfügbar ist.

Problembehandlung für das .NET SDK

Es sei denn, es liegt ein bekanntes Dienstproblem vor, in der Regel, wenn ein Aufruf fehlschlägt, weil die SOAP-Elemente ungültig oder falsch sind oder Sie falsche Anmeldeinformationen angegeben haben. Um beide Fälle zu überprüfen, sollten Sie den SOAP-Umschlag der Anforderung erfassen. Sie können sich an den Support wenden oder Ihre Erfassung mit dem entsprechenden SOAP-Beispiel vergleichen, das für jeden Dienstvorgang dokumentiert ist.

SDK-Ablaufverfolgung

Sie können die Bing Ads .NET SDK TraceBehavior verwenden, um die SOAP-Anforderung und -Antwort zu protokollieren.

Hinweis

TraceBehavior ist mit Bing Ads .NET SDK Version 12.13.5 und höher verfügbar.

using (StreamWriter streamWriter = new StreamWriter(@"tracelog.txt"))
{
    streamWriter.AutoFlush = true;

    // For console output instead of file output, use new TextWriterTraceListener(Console.Out).
    // If you only need debug output, you can remove the StreamWriter, TraceListener, and AddTraceSource.
    TraceListener traceListener = new TextWriterTraceListener(streamWriter.BaseStream);

    IServiceCollection serviceCollection = new ServiceCollection();
    serviceCollection.AddLogging(builder => builder
        .AddTraceSource(new SourceSwitch("ProgramSourceSwitch", "verbose"), traceListener)
        .AddDebug()
        .AddFilter(level => level >= LogLevel.Debug)
    );
    var iLoggerFactory = serviceCollection.BuildServiceProvider().GetService<ILoggerFactory>();
    TraceBehavior.Instance.AddMessageInspector(
        new LogMessageInspector(
            iLoggerFactory.CreateLogger<Program>(),
            LogLevel.Information)
    );

    Authentication authentication = AuthenticateWithOAuth();

    // This utiltiy operation sets the global authorization data instance 
    // to the first account that the current authenticated user can access. 

    SetAuthorizationDataAsync(authentication).Wait();

    // Run all of the examples that are included above.

    foreach (var example in _examples)
    {
        example.RunAsync(_authorizationData).Wait();
    }

    streamWriter.Flush();
    traceListener.Flush();
}

Das vollständige Programm, das den obigen Codeausschnitt verwendet, finden Sie in Program.cs.

Fiddler-Optionen

Sie können diese Schritte ausführen, um die SOAP-Umschläge aus einer .NET-Anwendung mithilfe eines Drittanbietertools wie Fiddler zu erfassen.

  • Exportieren Sie nach der Installation von Fiddler das Fiddler-Zertifikat aus dem Stammzertifikatspeicher.
  • Klicken Sie auf Extras>Fiddler-Optionen.
  • Wählen Sie die Registerkarte HTTPS aus, und klicken Sie auf das Kontrollkästchen HTTPS-Datenverkehr entschlüsseln .
  • Klicken Sie auf OK, und folgen Sie dann den Anweisungen zum Exportieren des Fiddler-Zertifikats.

Java-Ausnahmen

Wenn Sie das Bing Ads Java SDK verwenden, sollte Ihre Anwendung darauf vorbereitet sein, Bing Ads API-Servicelevelausnahmen und Bing Ads java SDK-Ausnahmen zu verarbeiten, die unten beschrieben werden.

Informationen zur Problembehandlung für Java-Anwendungen finden Sie unter Problembehandlung für das Java SDK.

Java SDK-Ausnahmen

Die Bing Ads Java SDK-Ausnahmen abstrahieren einige der Ausnahmen auf Servicelevel. Um die meisten Ausnahmen zu umgehen, können Sie es erneut versuchen, und wenden Sie sich an den Support, wenn das Problem nach mehreren Wiederholungsversuchen weiterhin besteht.

Ausnahme Namespaces Beschreibung
CouldNotDownloadResultFileException com.microsoft.bingads Diese Ausnahme wird vom internen SDK HttpService nach einem fehlgeschlagenen Versuch ausgelöst, eine Massen- oder Berichtsergebnisdatei herunterzuladen.
CouldNotUploadFileException com.microsoft.bingads Diese Ausnahme wird vom internen SDK HttpService nach einem fehlgeschlagenen Versuch ausgelöst, eine Massendatei hochzuladen.
OAuthTokenRequestException com.microsoft.bingads Diese Ausnahme wird ausgelöst, wenn vom Autorisierungsserver des Microsft-Kontos ein Fehler zurückgegeben wurde. Um diese Ausnahme zu beheben, können Sie zuerst die Stapelüberwachung überprüfen, um die Fehlerdetails anzuzeigen, falls Sie eine Aktion ausführen können, um das Problem zu beheben. Beispielsweise haben Sie möglicherweise eine ungültige Client-ID angegeben.
BulkDownloadCouldNotBeCompletedException com.microsoft.bingads.V13.bulk Diese Ausnahme wird ausgelöst, wenn versucht wurde, eine abgeschlossene Ergebnisdatei für Massendownloads abzufragen, und der Massendienst eine fehlgeschlagene status zurückgibt.
BulkOperationInProgressException com.microsoft.bingads.V13.bulk Diese Ausnahme wird ausgelöst, wenn versucht wurde, eine Massenergebnisdatei herunterzuladen, die noch nicht verfügbar ist.
BulkUploadCouldNotBeCompletedException com.microsoft.bingads.V13.bulk Diese Ausnahme wird ausgelöst, wenn versucht wurde, eine abgeschlossene Ergebnisdatei für den Massenupload abzufragen und der Massendienst eine fehlgeschlagene status zurückgibt.
CouldNotGetBulkOperationStatusException com.microsoft.bingads.V13.bulk Diese Ausnahme wird ausgelöst, wenn bulkServiceManager den Upload- oder Downloadvorgang nicht status nach mehreren Wiederholungen abrufen konnte.
CouldNotSubmitBulkDownloadException com.microsoft.bingads.V13.bulk Diese Ausnahme wird vom BulkServiceManager ausgelöst, wenn der aufgerufene DownloadCampaignsByAccountIds-Dienstvorgang keine gültige Antwort zurückgibt.
CouldNotSubmitBulkUploadException com.microsoft.bingads.V13.bulk Diese Ausnahme wird vom BulkServiceManager ausgelöst, wenn der aufgerufene GetBulkUploadUrl-Dienstvorgang keine gültige Antwort zurückgibt.
EntityReadException com.microsoft.bingads.V13.bulk Diese Ausnahme wird ausgelöst, wenn versucht wird, Entitäten mithilfe von BulkFileReader aus einer Massendatei zu lesen. Um diese Ausnahme zu beheben, können Sie zuerst die Stapelüberwachung überprüfen, um die Fehlerdetails anzuzeigen, falls Sie eine Aktion ausführen können, um das Problem zu beheben. Beispielsweise kann die Massendatei, aus der Sie lesen möchten, in einem der Felder einen ungültigen Wert aufweisen.
EntityWriteException com.microsoft.bingads.V13.bulk Diese Ausnahme wird ausgelöst, wenn versucht wird, Entitäten mithilfe von BulkFileWriter in eine Massendatei zu schreiben. Um diese Ausnahme zu beheben, können Sie zuerst die Stapelüberwachung überprüfen, um die Fehlerdetails anzuzeigen, falls Sie eine Aktion ausführen können, um das Problem zu beheben. Beispielsweise haben Sie möglicherweise einen ungültigen Wert für eine der Uploadentitäten angegeben.
CouldNotGetReportingDownloadStatusException com.microsoft.bingads.V13.reporting Diese Ausnahme wird ausgelöst, wenn reportingServiceManager den Downloadvorgang nach mehreren Wiederholungen nicht status abrufen konnte.
CouldNotSubmitReportingDownloadException com.microsoft.bingads.V13.reporting Diese Ausnahme wird vom ReportingServiceManager ausgelöst, wenn der aufgerufene SubmitGenerateReport-Dienstvorgang keine gültige Antwort zurückgibt.
ReportingOperationCouldNotBeCompletedException com.microsoft.bingads.V13.reporting Diese Ausnahme wird ausgelöst, wenn versucht wurde, eine abgeschlossene Berichtsergebnisdatei abzufragen, und der Berichterstellungsdienst eine fehlgeschlagene status zurückgibt.
ReportingOperationInProgressException com.microsoft.bingads.V13.reporting Diese Ausnahme wird ausgelöst, wenn versucht wurde, eine Berichtsergebnisdatei herunterzuladen, die noch nicht verfügbar ist.

Problembehandlung für das Java SDK

Es sei denn, es liegt ein bekanntes Dienstproblem vor, in der Regel, wenn ein Aufruf fehlschlägt, weil die SOAP-Elemente ungültig oder falsch sind oder Sie falsche Anmeldeinformationen angegeben haben. Um dies in jedem Fall zu überprüfen, sollten Sie den SOAP-Anforderungsumschlag erfassen. Sie können sich an den Support wenden oder Ihre Erfassung mit dem entsprechenden SOAP-Beispiel vergleichen, das für jeden Dienstvorgang dokumentiert ist.

Informationen zum Aktivieren der programmgesteuerten Protokollierung von Anforderungs- und Antwortnachrichten finden Sie unter Protokollierungsdienstaufrufe.

Fiddler-Optionen

Sie können diese Schritte ausführen, um die SOAP-Umschläge aus einer Java-Anwendung mithilfe eines Drittanbietertools wie Fiddler zu erfassen.

  1. Exportieren Sie nach der Installation von Fiddler das Fiddler-Zertifikat aus dem Stammzertifikatspeicher. Klicken Sie auf Extras>Fiddler-Optionen. Wählen Sie die Registerkarte HTTPS aus, und klicken Sie auf das Kontrollkästchen HTTPS-Datenverkehr entschlüsseln . Klicken Sie auf OK, und folgen Sie dann den Anweisungen zum Exportieren des Fiddler-Zertifikats.

  2. Verwenden Sie den folgenden Befehl, um das Zertifikat in den von Java verwendeten Cacert-Speicher zu importieren, z. B. aus PowerShell als Administrator ausführen.

    PS C:\Program Files\Java\jre1.8.0_201\bin> .\keytool.exe -importcert -v -alias "Fiddler cert" -trustcacerts -keystore "C:\Program Files\Java\jre1.8.0_201\lib\security\cacerts" -storepass changeit -file <PathToFiddlerRootGoesHere>\FiddlerRoot.cer
    
  3. Fügen Sie Ihrer Java-Anwendung die folgenden Zeilen hinzu.

    System.setProperty("https.proxyHost", "127.0.0.1");
    System.setProperty("https.proxyPort", "8888");
    

PHP-Ausnahmen

Wenn Sie das Bing Ads PHP SDK verwenden, sollte Ihre Anwendung darauf vorbereitet sein, Bing Ads API-Servicelevelausnahmen und Bing Ads unten beschriebenen PHP SDK-Ausnahmen zu behandeln.

Informationen zur Problembehandlung bei PHP-Anwendungen finden Sie unter Problembehandlung für das PHP SDK.

Problembehandlung für das PHP SDK

Es sei denn, es liegt ein bekanntes Dienstproblem vor, in der Regel, wenn ein Aufruf fehlschlägt, weil die SOAP-Elemente ungültig oder falsch sind oder Sie falsche Anmeldeinformationen angegeben haben. Um beide Fälle zu überprüfen, sollten Sie den SOAP-Umschlag der Anforderung erfassen. Sie können sich an den Support wenden oder Ihre Erfassung mit dem entsprechenden SOAP-Beispiel vergleichen, das für jeden Dienstvorgang dokumentiert ist.

SOAP drucken

In PHP können Sie die folgenden Methoden verwenden, um die SOAP-Umschläge zu drucken. Jedes der PHP-Codebeispiele enthält diese Anweisungen, um die Fehler in der Konsole auszugeben.

print $proxy->GetService()->__getLastRequest()."\n";
print $proxy->GetService()->__getLastResponse()."\n";

PHP SDK-Ausnahmen

Die Bing Ads PHP SDK-Ausnahmen abstrahieren einige der Ausnahmen auf Servicelevel. Um die meisten Ausnahmen zu umgehen, können Sie es erneut versuchen, und wenden Sie sich an den Support, wenn das Problem nach mehreren Wiederholungsversuchen weiterhin besteht.

Sie sollten auch die OAuthTokenRequestException behandeln, die ausgelöst wird, wenn vom Microsft-Kontoautorisierungsserver ein Fehler zurückgegeben wurde. Um diese Ausnahme zu beheben, können Sie zuerst die Stapelüberwachung überprüfen, um die Fehlerdetails anzuzeigen, falls Sie eine Aktion ausführen können, um das Problem zu beheben. Beispielsweise haben Sie möglicherweise eine ungültige Client-ID angegeben.

Python-Ausnahmen

Wenn Sie das Bing Ads Python SDK verwenden, sollte Ihre Anwendung darauf vorbereitet sein, Bing Ads API-Servicelevelausnahmen und Bing Ads unten beschriebenen Python SDK-Ausnahmen zu behandeln.

Informationen zur Problembehandlung für Python-Anwendungen finden Sie unter Problembehandlung für das Python SDK.

Python SDK-Ausnahmen

Die Bing Ads Python SDK-Ausnahmen abstrahieren einige der Ausnahmen auf Servicelevel. Um die meisten Ausnahmen zu umgehen, können Sie es erneut versuchen, und wenden Sie sich an den Support, wenn das Problem nach mehreren Wiederholungsversuchen weiterhin besteht.

Ausnahme Namespaces Beschreibung
BulkException BingAds.V13.Bulk Diese Ausnahme wird ausgelöst, wenn versucht wurde, eine abgeschlossene Massenergebnisdatei abzufragen, und der Massendienst eine fehlgeschlagene status zurückgibt.
BulkDownloadException BingAds.V13.Bulk Diese Ausnahme wird ausgelöst, wenn beim Versuch, eine Massendatei herunterzuladen, ein Timeout auftritt.
BulkUploadException BingAds.V13.Bulk Diese Ausnahme wird ausgelöst, wenn beim Versuch, eine Ergebnisdatei für den Massenupload herunterzuladen, ein Timeout auftritt.
EntityReadException BingAds.V13.Bulk Diese Ausnahme wird ausgelöst, wenn versucht wird, Entitäten mithilfe von BulkFileReader aus einer Massendatei zu lesen. Um diese Ausnahme zu beheben, können Sie zuerst die Stapelüberwachung überprüfen, um die Fehlerdetails anzuzeigen, falls Sie eine Aktion ausführen können, um das Problem zu beheben. Beispielsweise kann die Massendatei, aus der Sie lesen möchten, in einem der Felder einen ungültigen Wert aufweisen.
EntityWriteException BingAds.V13.Bulk Diese Ausnahme wird ausgelöst, wenn versucht wird, Entitäten mithilfe von BulkFileWriter in eine Massendatei zu schreiben. Um diese Ausnahme zu beheben, können Sie zuerst die Stapelüberwachung überprüfen, um die Fehlerdetails anzuzeigen, falls Sie eine Aktion ausführen können, um das Problem zu beheben. Beispielsweise haben Sie möglicherweise einen ungültigen Wert für eine der Uploadentitäten angegeben.
FileDownloadException BingAds Diese Ausnahme wird ausgelöst, wenn beim Versuch, eine Ergebnisdatei für den Massenupload herunterzuladen, ein Timeout auftritt.
FileUploadException BingAds Diese Ausnahme wird ausgelöst, wenn beim Versuch, eine Massendatei hochzuladen, ein Timeout auftritt.
OAuthTokenRequestException BingAds Diese Ausnahme wird ausgelöst, wenn vom Autorisierungsserver des Microsft-Kontos ein Fehler zurückgegeben wurde. Um diese Ausnahme zu beheben, können Sie zuerst die Stapelüberwachung überprüfen, um die Fehlerdetails anzuzeigen, falls Sie eine Aktion ausführen können, um das Problem zu beheben. Beispielsweise haben Sie möglicherweise eine ungültige Client-ID angegeben.
ReportingException BingAds.V13.Reporting Diese Ausnahme wird ausgelöst, wenn versucht wurde, eine abgeschlossene Berichtsergebnisdatei abzufragen, und der Berichterstellungsdienst eine fehlgeschlagene status zurückgibt.
ReportingDownloadException BingAds.V13.Reporting Diese Ausnahme wird ausgelöst, wenn beim Versuch, eine Berichtsergebnisdatei herunterzuladen, ein Timeout auftritt.
SdkException BingAds Die Basis-Ausnahmeklasse für das Bing Ads Python SDK. Diese Ausnahme wird nie ausgelöst.
TimeoutException BingAds Diese Ausnahme wird ausgelöst, wenn ein Timeout auftritt.

Problembehandlung für das Python SDK

Es sei denn, es liegt ein bekanntes Dienstproblem vor, in der Regel, wenn ein Aufruf fehlschlägt, weil die SOAP-Elemente ungültig oder falsch sind oder Sie falsche Anmeldeinformationen angegeben haben. Um beide Fälle zu überprüfen, sollten Sie den SOAP-Umschlag der Anforderung erfassen. Sie können sich an den Support wenden oder Ihre Erfassung mit dem entsprechenden SOAP-Beispiel vergleichen, das für jeden Dienstvorgang dokumentiert ist.

Protokollierung

Wenn Sie das Bing Ads Python SDK verwenden, können Sie die Protokollierung für Ausgabedatenverkehr einschließen, z. B. die SOAP-Anforderung und -Antwort. Jedes der Python-Codebeispiele enthält diese Anweisungen, um die Ausgabe des gesamten SOAP-Datenverkehrs an die Konsole auszugeben. Heben Sie die Auskommentierung auf, wenn Sie den Datenverkehr anzeigen möchten.

import logging
logging.basicConfig(level=logging.INFO)
logging.getLogger('suds.client').setLevel(logging.DEBUG)
logging.getLogger('suds.transport.http').setLevel(logging.DEBUG) 

Siehe auch

Fehlercodes für Bing Ads-API-Vorgang
Bing Ads-API-Webdienstadressen