Problembehebung

Video: Das Gespräch zur Fehlerbehandlung aus dem Workshop 2019 ansehen

Fehler können durch eine falsche Umgebungseinrichtung, einen Programmfehler in Ihrer Software oder ungültige Eingaben 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 beheben. In diesem Leitfaden werden einige Best Practices für die Fehlerbehebung bei Fehlern beschrieben, die über die Google Ads API auftreten.

Konnektivität sicherstellen

  1. Sie benötigen Zugriff auf die Google Ads API und müssen korrekt eingerichtet sein. Wenn Ihre Antwort HTTP-Fehler zurückgibt, sollten Sie diese Fehler sorgfältig beheben und die Dienste erreichen, die Sie über Ihren Code verwenden möchten.

  2. 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. Jede Clientbibliothek wird mit einer spezifischen Anleitung zum Einfügen Ihrer Anmeldedaten in die Konfigurationsdatei geliefert. Weitere Informationen finden Sie in der README-Datei der Clientbibliothek.

  3. Prüfen Sie, ob Sie die richtigen Anmeldedaten verwenden. In unserer Kurzanleitung erfahren Sie, wie Sie den richtigen Satz erhalten. Der folgende Antwortfehler zeigt beispielsweise, dass der Nutzer ungültige Anmeldedaten zur Authentifizierung 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, aber weiterhin Probleme auftreten, werfen Sie einen Blick auf die Fehlerbehebung in der Google Ads API.

Problem bestimmen

Die Google Ads API meldet Fehler in der Regel als JSON-Fehlerobjekt, das eine Liste der Fehler in der Antwort enthält. Diese Objekte stellen einen Fehlercode sowie eine Nachricht bereit, in der erläutert wird, warum der Fehler aufgetreten ist. Sie sind Ihre ersten Anzeichen für das Problem.

{
  "errors": [
    {
      "errorCode": { "fieldMaskError": "FIELD_NOT_FOUND" },
      "message": "The field mask contained an invalid field: 'keyword/matchtype'.",
      "location": { "operationIndex": "1" }
    }
  ]
}

Alle unsere Clientbibliotheken geben Ausnahmen aus, die Fehler in der Antwort kapseln. Für den Anfang empfiehlt es sich, diese Ausnahmen zu erfassen und die Meldungen in einem Protokoll oder auf einem Bildschirm zur Fehlerbehebung auszudrucken. Durch die Einbindung dieser Informationen in die anderen protokollierten Ereignisse in Ihrer Anwendung 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.

Untersuchung des Fehlers

  1. In unserer Dokumentation zu Häufige Fehler finden Sie Informationen zu den am häufigsten auftretenden Fehlern. Darin werden die Fehlermeldung, relevante API-Referenzen und Möglichkeiten zur Vermeidung oder Behebung des Fehlers beschrieben.

  2. Wenn der Fehler in unserer Dokumentation zu häufigen Fehlern nicht erwähnt wird, konsultieren Sie unsere Referenzdokumentation und suchen Sie nach dem Fehlerstring.

  3. Suchen Sie in unseren Supportkanälen nach anderen Entwicklern, die ihre Erfahrungen mit der API teilen. Eine andere Person ist möglicherweise mit Ihrem Problem konfrontiert und hat es gelöst.

  4. Wenn Fehler auftreten, die nicht dokumentiert sind, machen Sie uns im Forum darauf aufmerksam.

  5. Rufen Sie die Google Ads-Hilfe auf, um Hilfe bei Problemen mit der Validierung oder mit dem Kontolimit zu erhalten. Für die Google Ads API gelten die Regeln und Einschränkungen des Google Ads-Hauptprodukts.

  6. 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 finden

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 Google Ads API-Fehlermeldungen enthalten im Feld location des GoogleAdsError ein fieldPathElements, das angibt, an welcher Stelle 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 die falschen Informationen an die API sendet. Wir empfehlen dringend, eine interaktive Entwicklungsumgebung (IDE) wie Eclipse zu verwenden. Diese ist eine kostenlose Open-Source-IDE, die hauptsächlich zur Entwicklung von Java verwendet wird, aber auch über Plug-ins für andere Sprachen verfügt, die Ihnen die Fehlerbehebung erleichtert. Damit können Sie Haltepunkte setzen und Ihren Code Zeile für Zeile durchgehen.

Achten Sie darauf, dass die Anfrage mit den Eingaben Ihrer Anwendung übereinstimmt. Es kann beispielsweise sein, dass der Name der Kampagne nicht in die Anfrage aufgenommen wird. Sie müssen eine Feldmaske senden, die den gewünschten Aktualisierungen entspricht. Die Google Ads API unterstützt eine Sparse-Aktualisierung. Wird in einer mutate-Anfrage ein Feld der Feldmaske ausgelassen, bedeutet dies, dass die API es unverändert lassen soll. Wenn Ihre Anwendung ein Objekt abruft, eine Änderung vornimmt und es zurücksendet, schreiben Sie möglicherweise in ein Feld, das keine Updates unterstützt. Lesen Sie der Referenzdokumentation in der Beschreibung des Felds nach, ob Einschränkungen dafür gelten, wann oder ob das Feld aktualisiert werden kann.

Hilfe

Es ist nicht immer möglich, das Problem selbst zu identifizieren und zu lösen. Wenn Sie eine Frage im Forum stellen, wird Ihre Frage an Tausende Entwickler weitergeleitet, die sich möglicherweise mit demselben Problem befassen mussten.

Versuchen Sie, in Ihre Abfragen so viele Informationen wie möglich aufzunehmen. Dazu gehört beispielsweise Folgendes:

  • Bereinigte JSON-Anfrage und -Antwort. Entfernen Sie vertrauliche Informationen wie Ihr Entwickler-Token oder AuthToken.
  • Code-Snippets: Wenn Sie ein sprachspezifisches Problem haben oder Hilfe bei der Arbeit mit der API anfordern, fügen Sie ein Code-Snippet hinzu, um die Vorgehensweise zu erklären.
  • RequestId an. So können Mitglieder des Google Developer Relations-Teams Ihre Anfrage finden, wenn sie für die Produktionsumgebung gestellt wird. Wir empfehlen, die „requestId“, die in den Ausnahmen, in denen Antwortfehler eingekapselt werden, als Attribut enthalten ist, sowie mehr Kontext als nur „requestId“ zu registrieren.
  • Weitere Informationen wie Laufzeit-/Interpreter-Version und 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).

Teilen empfohlen

Wenn Sie im Forum eine Frage zu einem Fehler gepostet haben, der dort zuvor noch nicht aufgetreten war, und Sie die Lösung gefunden haben, sollten Sie diese dem Thread hinzufügen. Wenn ein Entwickler das nächste Mal dasselbe 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.

Das Erstellen eines guten Satzes von Einheitentests trägt dazu bei, die Qualität und Zuverlässigkeit von Code erheblich zu verbessern. Außerdem wird das Testen neuer Änderungen beschleunigt, um sicherzustellen, dass die vorherige Funktionalität nicht beeinträchtigt wurde. Eine gute Fehlerbehandlungsstrategie ist außerdem wichtig, um alle notwendigen Daten für die Fehlerbehebung zu erhalten.