Video: Check out the error handling talk from the 2019 workshop
Fehler können durch eine falsche Umgebungseinrichtung, einen Fehler in Ihrer Software oder eine ungültige Eingabe eines Nutzers verursacht werden. Unabhängig von der Ursache müssen Sie das Problem beheben und entweder Ihren Code korrigieren oder Logik hinzufügen, um den Nutzerfehler zu behandeln. In dieser Anleitung werden einige Best Practices für die Fehlerbehebung bei Fehlern in der Google Ads API erläutert.
Verbindung sicherstellen
Prüfen Sie, ob Sie Zugriff auf die Google Ads API haben und die Einrichtung korrekt ist. Wenn Ihre Antwort HTTP-Fehler zurückgibt, müssen Sie diese sorgfältig beheben und sicherstellen, dass Sie die Dienste, die Sie verwenden möchten, über Ihren Code erreichen.
Ihre Anmeldedaten sind in Ihre Anfrage eingebettet, damit die Dienste Sie authentifizieren können. Machen Sie sich mit der Struktur von Google Ads API-Anfragen und -Antworten vertraut, insbesondere wenn Sie Aufrufe ohne die Clientbibliotheken verarbeiten möchten. Jede Clientbibliothek wird mit einer spezifischen Anleitung geliefert, wie Sie Ihre Anmeldedaten in die Konfigurationsdatei einfügen (siehe README der Clientbibliothek).
Prüfen Sie, ob Sie die richtigen Anmeldedaten verwenden. In unserer Kurzanleitung wird beschrieben, wie Sie die richtigen Anmeldedaten erhalten. Die folgende Antwort zeigt beispielsweise, dass der Nutzer ungültige Authentifizierungsanmeldedaten gesendet hat:
{ "error": { "code": 401, "message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. Visit https://developers.google.com/identity/sign-in/web/devconsole-project.", "status": "UNAUTHENTICATED", "details": [ { "@type": "type.googleapis.com/google.rpc.DebugInfo", "detail": "Authentication error: 2" } ] } }
Wenn Sie diese Schritte ausgeführt haben und weiterhin Probleme auftreten, müssen Sie die Fehler in der Google Ads API beheben.
Problem ermitteln
Die Google Ads API meldet Fehler in der Regel als JSON-Fehlerobjekt, das eine Liste von Fehlern in der Antwort enthält. Diese Objekte enthalten einen Fehlercode sowie eine Nachricht, in der erläutert wird, warum der Fehler aufgetreten ist. Sie sind die ersten Hinweise darauf, was das Problem sein könnte.
{
"errors": [
{
"errorCode": { "fieldMaskError": "FIELD_NOT_FOUND" },
"message": "The field mask contained an invalid field: 'keyword/matchtype'.",
"location": { "operationIndex": "1" }
}
]
}
Alle unsere Clientbibliotheken lösen Ausnahmen aus, die Fehler in der Antwort kapseln. Es ist ein guter Anfang, diese Ausnahmen zu erfassen und die Nachrichten in einem Log oder auf einem Bildschirm zur Fehlerbehebung auszugeben. Wenn Sie diese Informationen mit den anderen protokollierten Ereignissen in Ihrer Anwendung verknüpfen, erhalten Sie einen guten Überblick darüber, was das Problem auslösen könnte. Sobald Sie den Fehler in den Logs gefunden haben, müssen Sie herausfinden, was er bedeutet.
Fehler untersuchen
In unserer Dokumentation zu häufigen Fehlern werden die am häufigsten auftretenden Fehler behandelt. Dort finden Sie die Fehlermeldung, relevante API-Referenzen und Informationen dazu, wie Sie den Fehler vermeiden oder beheben können.
Wenn der Fehler in unserer Dokumentation zu häufigen Fehlern nicht speziell erwähnt wird, sehen Sie in unserer Referenzdokumentation nach und suchen Sie nach der Fehler string.
Suchen Sie in unseren Supportkanälen nach anderen Entwicklern, die ihre Erfahrungen mit der API teilen. Möglicherweise ist jemand anderes auf das Problem gestoßen und hat es bereits gelöst.
In der Google Ads-Hilfe finden Sie Informationen zur Fehlerbehebung bei Problemen mit der Validierung oder Kontolimits. Die Google Ads API übernimmt die Regeln und Einschränkungen des Google Ads-Kernprodukts.
Blogposts können gelegentlich eine gute Referenz bei der Fehlerbehebung in Ihrer Anwendung sein.
Wenn Fehler auftreten, die nicht dokumentiert sind, wenden Sie sich an den Support.
Nachdem Sie den Fehler untersucht haben, müssen Sie die Ursache ermitteln.
Ursache ermitteln
Sehen Sie sich die Ausnahmemeldung an, um die Ursache des Fehlers zu ermitteln. Nachdem Sie sich die Antwort angesehen haben, prüfen Sie die Anfrage auf eine mögliche Ursache. Einige Fehlermeldungen der Google Ads API enthalten im Feld
location des GoogleAdsError ein fieldPathElements, das angibt, wo in der Anfrage der Fehler aufgetreten ist. Beispiel:
{
"errors": [
{
"errorCode": {"criterionError": "CANNOT_ADD_CRITERIA_TYPE"},
"message": "Criteria type can not be targeted.",
"trigger": { "stringValue": "" },
"location": {
"operationIndex": "0",
"fieldPathElements": [ { "fieldName": "keyword" } ]
}
}
]
}
Bei der Fehlerbehebung stellen Sie möglicherweise fest, dass Ihre Anwendung der API falsche Informationen liefert. Wir empfehlen dringend die Verwendung einer interaktiven Entwicklungsumgebung (IDE) wie Eclipse (eine kostenlose Open-Source-IDE, die hauptsächlich für die Entwicklung von Java verwendet wird, aber Plug-ins für andere Sprachen bietet), um Sie bei der Fehlerbehebung zu unterstützen. Damit können Sie Haltepunkte festlegen und Ihren Code Zeile für Zeile durchgehen.
Prüfen Sie noch einmal, ob die Anfrage mit den Eingaben Ihrer Anwendung übereinstimmt. Möglicherweise wird der Name der Kampagne nicht in die Anfrage aufgenommen. Senden Sie eine Feldmaske, die den gewünschten Aktualisierungen entspricht. Die Google Ads API unterstützt spärliche Aktualisierungen. Wenn Sie ein Feld in einer Änderungsanfrage aus der Feldmaske weglassen, bedeutet das, dass die API es nicht ändern soll. Wenn Ihre Anwendung ein Objekt abruft, eine Änderung vornimmt und es zurücksendet, schreiben Sie möglicherweise in ein Feld, das keine Aktualisierung unterstützt. In der Referenzdokumentation finden Sie die Beschreibung des Felds. Dort erfahren Sie, ob und wann Sie das Feld aktualisieren können.
Hilfe
Es ist nicht immer möglich, das Problem selbst zu identifizieren und zu beheben. Sie können sich an den Support wenden.
Geben Sie in Ihren Anfragen so viele Informationen wie möglich an. Empfohlene Elemente:
- Bereinigte JSON-Anfrage und -Antwort. Entfernen Sie vertrauliche Informationen wie Ihr OAuth-Zugriffstoken.
- Code-Snippets. Wenn Sie ein sprachspezifisches Problem haben oder Hilfe bei der Verwendung der API benötigen, fügen Sie ein Code-Snippet ein, um zu erklären, was Sie tun.
- Anfrage-ID. So können Mitglieder des Google Developer Relations-Teams Ihre Anfrage finden, wenn sie an die Produktionsumgebung gesendet wurde. Wir empfehlen, in Ihren Logs die Anfrage-ID zu registrieren, die als Property in den Ausnahmen enthalten ist, die Antwortfehler kapseln, sowie mehr Kontext als nur die Anfrage-ID.
- Zusätzliche Informationen wie die Laufzeit- oder Interpreterversion und die Plattform können bei der Fehlerbehebung ebenfalls hilfreich sein.
Problem beheben
Nachdem Sie das Problem identifiziert und eine Lösung gefunden haben, können Sie die entsprechenden Änderungen vornehmen und das Bugfix mit einem Testkonto (bevorzugt) oder in der Produktionsumgebung testen (wenn sich der Programmfehler nur auf Daten in einem bestimmten Produktionskonto bezieht).
Nächste Schritte
Bei der Lösung Ihres Problems sind Ihnen bestimmt Möglichkeiten aufgefallen, wie Sie Ihren Code verbessern und derartige Fehler von vornherein vermeiden können.
Eine gute Reihe von Unittests kann die Codequalität und -zuverlässigkeit erheblich verbessern. Außerdem wird der Prozess des Testens neuer Änderungen beschleunigt, um sicherzustellen, dass frühere Funktionen nicht beeinträchtigt werden. Eine gute Strategie zur Fehlerbehandlung ist ebenfalls entscheidend, um alle erforderlichen Daten für die Fehlerbehebung zu erfassen.