Video: Vortrag zur Fehlerbehandlung aus dem Workshop 2019
Fehler können durch eine falsche Umgebungskonfiguration, einen Fehler in Ihrer Software oder eine ungültige Eingabe eines Nutzers verursacht werden. Unabhängig von der Quelle müssen Sie das Problem beheben und entweder Ihren Code korrigieren oder Logik hinzufügen, um den Nutzerfehler zu behandeln. In diesem Leitfaden werden einige Best Practices für die Fehlerbehebung bei der Google Ads API beschrieben.
Konnektivität prüfen
Sie benötigen Zugriff auf die Google Ads API und eine korrekte Einrichtung. Wenn Ihre Antwort HTTP-Fehler zurückgibt, müssen Sie diese sorgfältig beheben und dafür sorgen, dass Sie die Dienste erreichen, die Sie in Ihrem Code verwenden möchten.
Ihre Anmeldedaten sind in Ihre Anfrage eingebettet, damit Sie von den Diensten authentifiziert werden 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 enthält eine spezifische Anleitung zum Einfügen Ihrer Anmeldedaten in die Konfigurationsdatei. Weitere Informationen finden Sie in der README-Datei der Clientbibliothek.
Prüfen Sie, ob Sie die richtigen Anmeldedaten verwenden. In unserer Kurzanleitung erfahren Sie, wie Sie das richtige Set erwerben. Der folgende Antwortfehler zeigt beispielsweise, dass der Nutzer ungültige Anmeldedaten 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, sollten Sie die Fehlerbehebung für Google Ads API-Fehler durchführen.
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 Meldung, 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 werfen Ausnahmen auf, die Fehler in der Antwort einschließen. Ein guter Anfang ist es, diese Ausnahmen zu erfassen und die Meldungen in einem Protokoll oder auf einem Bildschirm zur Fehlerbehebung auszudrucken. Wenn Sie diese Informationen in die anderen protokollierten Ereignisse in Ihrer Anwendung einbinden, erhalten Sie einen guten Überblick darüber, was das Problem möglicherweise auslöst. Nachdem Sie den Fehler in den Protokollen gefunden haben, müssen Sie herausfinden, was er bedeutet.
Fehler untersuchen
In der Dokumentation zu häufigen Fehlern finden Sie Informationen zu den am häufigsten auftretenden Fehlern. Darin werden die Fehlermeldung, relevante API-Referenzen und die Vermeidung oder Behebung des Fehlers beschrieben.
Wenn der Fehler in der Dokumentation zu häufigen Fehlern nicht ausdrücklich erwähnt wird, suchen Sie in der Referenzdokumentation nach dem Fehlerstring.
In unseren Supportkanälen finden Sie andere Entwickler, die ihre Erfahrungen mit der API teilen. Möglicherweise hat eine andere Person das gleiche Problem schon einmal gehabt und es gelöst.
Wenn Sie auf nicht dokumentierte Fehler stoßen, teilen Sie uns dies bitte im Forum mit.
In der Google Ads-Hilfe finden Sie Informationen zur Fehlerbehebung bei Problemen mit der Validierung oder Kontobeschränkungen. Die Google Ads API übernimmt die Regeln und Einschränkungen des Google Ads-Produkts.
In Blogposts finden Sie gelegentlich ebenfalls nützliche Hinweise zur Fehlerbehebung.
Nachdem Sie den Fehler untersucht haben, ist es an der Zeit, die Ursache zu ermitteln.
Ursache ermitteln
Prüfen Sie die Ausnahmemeldung, um die Ursache des Fehlers zu ermitteln. Prüfen Sie nach der Antwort die Anfrage auf eine mögliche Ursache. Einige Google Ads API-Fehlermeldungen enthalten das Zeichen fieldPathElements
im Feld location
der GoogleAdsError
. Damit wird angegeben, 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 kann es sein, dass Ihre Anwendung der API die falschen Informationen zur Verfügung stellt. Wir empfehlen Ihnen dringend, eine interaktive Entwicklungsumgebung (IDE) wie Eclipse zu verwenden. Diese kostenlose Open-Source-IDE wird hauptsächlich zur Entwicklung von Java verwendet, hat aber auch Plug-ins für andere Sprachen. Sie können damit Haltepunkte festlegen und Ihren Code Zeile für Zeile durchgehen.
Prüfen Sie, ob die Anfrage mit den Eingaben Ihrer Anwendung übereinstimmt. Möglicherweise wird der Name der Kampagne beispielsweise nicht an die Anfrage gesendet. 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 Mutanfrage aus der Feldmaske auslassen, gibt die API an, dass es unverändert bleiben 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. Lesen Sie in der Referenzdokumentation in der Beschreibung des Felds nach, ob es Einschränkungen gibt, wann oder ob Sie das Feld aktualisieren können.
Hilfe
Es ist nicht immer möglich, das Problem selbst zu identifizieren und zu beheben. Wenn Sie Ihre Frage im Forum stellen, sehen Tausende von Entwicklern sie, die möglicherweise schon einmal mit demselben Problem konfrontiert waren.
Geben Sie in Ihren Abfragen so viele Informationen wie möglich an. Dazu gehört beispielsweise Folgendes:
- Bereinigte JSON-Anfrage und ‑Antwort. Entfernen Sie vertrauliche Informationen wie Ihr Entwicklertoken oder AuthToken.
- Code-Snippets: Wenn Sie ein sprachspezifisches Problem haben oder Hilfe bei der Verwendung der API benötigen, fügen Sie ein Code-Snippet hinzu, um Ihre Anfrage zu erläutern.
- RequestId. So können die Mitglieder des Google Developer Relations-Teams Ihre Anfrage finden, wenn sie an die Produktionsumgebung gerichtet ist. Wir empfehlen, in Ihren Protokollen die requestId zu erfassen, die als Attribut in den Ausnahmen enthalten ist, die Antwortfehler umfassen, sowie mehr Kontext als nur die requestId.
- Zusätzliche Informationen wie die Laufzeit-/Interpreterversion und die Plattform können bei der Fehlerbehebung ebenfalls nützlich 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).
Teilen
Wenn Sie im Forum eine Frage zu einem Fehler gepostet haben, der dort noch nicht aufgetreten ist, und die Lösung gefunden haben, können Sie diese dem Thread hinzufügen. Wenn ein Entwickler das nächste Mal das gleiche Problem hat, kann er es sofort lösen.
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.
Durch das Erstellen einer guten Reihe von Unit-Tests lässt sich die Codequalität und Zuverlässigkeit erheblich verbessern. Außerdem wird der Test neuer Änderungen beschleunigt, um sicherzustellen, dass sie die vorherigen Funktionen nicht beeinträchtigen. Eine gute Strategie zur Fehlerbehandlung ist auch wichtig, um alle für die Fehlerbehebung erforderlichen Daten zu erfassen.