Dépannage

Vidéo: découvrez la présentation sur la gestion des erreurs de l'atelier 2019

Les erreurs peuvent être causées par une configuration incorrecte de l'environnement, par un bug dans votre logiciel, ou une entrée non valide d’un utilisateur. Quelle que soit la source, vous vous devez résoudre le problème, et soit corriger votre code, soit ajouter une logique à gérer l'erreur de l'utilisateur. Ce guide présente quelques bonnes pratiques de dépannage de l'API Google Ads.

Assurer la connectivité

  1. Vérifiez que vous avez accès à l'API Google Ads et que vous disposez d'une configuration correcte. Si votre renvoie des erreurs HTTP, assurez-vous de les corriger avec soin et que vous accédez aux services que vous avez l'intention d'utiliser à partir de votre code.

  2. Vos identifiants sont intégrés dans votre request afin que le paramètre pour vous authentifier. Familiarisez-vous avec la structure de l'API Google Ads. de requêtes et de réponses, surtout si vous devez gérer les appels à l'aide des bibliothèques clientes. Chaque bibliothèque cliente est livrée avec des pour savoir comment inclure vos identifiants dans le fichier de configuration (consultez fichier README de la bibliothèque cliente).

  3. Vérifiez que vous utilisez les bons identifiants. Notre La section Démarrage rapide vous guide tout au long du processus d'acquisition des le jeu correct dont vous avez besoin. Par exemple, l'échec de réponse suivant indique que le L'utilisateur a envoyé des identifiants d'authentification incorrects:

    {
      "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"
          }
        ]
      }
    }
    

Si vous avez suivi ces étapes et que vous rencontrez toujours des problèmes, il est temps de découvrir pour résoudre les erreurs de l'API Google Ads.

Identification du problème

Généralement, l'API Google Ads signale les erreurs sous la forme d'un objet d'échec JSON, contenant : une liste d'erreurs dans la réponse. Ces objets fournissent un code d'erreur ainsi que un message expliquant pourquoi cela s’est produit. Ce sont les premiers signaux le problème pourrait être.

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

Toutes nos bibliothèques clientes génèrent des exceptions qui encapsuler les erreurs dans la réponse. Capturer ces exceptions et l'impression des messages dans un journal ou un écran de dépannage est un excellent moyen pour commencer. L'intégration de ces informations avec les autres événements consignés dans votre offre un bon aperçu de ce qui pourrait être à l'origine du problème. Une fois l'erreur identifiée dans les journaux, vous devez déterminer cela signifie.

Rechercher l'erreur

  1. Consultez nos erreurs courantes qui traite des erreurs les plus fréquentes. Il décrit le message d'erreur et les références d'API pertinentes, et explique comment éviter ou gérer l'erreur.

  2. Si notre documentation sur les erreurs courantes ne mentionne pas spécifiquement l'erreur, consultez notre documentation de référence et recherchez la chaîne d'erreur.

  3. Effectuez une recherche dans nos canaux d'assistance pour accéder à d'autres développeurs partageant leur expérience avec l'API. Quelqu'un d'autre de rencontrer et de résoudre le problème que vous rencontrez.

  4. Si vous rencontrez des erreurs qui ne sont pas documentées, apportez-les à notre attention sur le forum.

  5. Accédez au Centre d'aide Google Ads. pour résoudre les problèmes de validation ou de limite de compte, le L'API Google Ads hérite des règles et des limites du produit Google Ads principal.

  6. Articles de blog servira de référence pour le dépannage de votre application.

Après avoir recherché l'erreur, il est temps d'en déterminer la cause racine.

Localiser la cause

Consultez le message d'exception pour déterminer la cause de l'erreur. Après avoir regardé à la réponse, vérifiez la cause possible dans la requête. Certaines erreurs de l'API Google Ads messages incluent un élément fieldPathElements dans le champ location de GoogleAdsError, qui indique où dans la requête, l'erreur s'est produite. Exemple :

{
  "errors": [
    {
      "errorCode": {"criterionError": "CANNOT_ADD_CRITERIA_TYPE"},
      "message": "Criteria type can not be targeted.",
      "trigger": { "stringValue": "" },
      "location": {
        "operationIndex": "0",
        "fieldPathElements": [ { "fieldName": "keyword" } ]
      }
    }
  ]
}

Lors de la résolution d'un problème, il se peut que votre application fournisse des informations erronées à l'API. Nous vous conseillons vivement d'utiliser un environnement de développement (IDE) tel qu'Eclipse (un logiciel sans frais et Open Source IDE. Il est principalement utilisé pour développer Java, mais dispose de plug-ins pour dans d'autres langues) afin de faciliter le débogage. Elle permet de définir des points d'arrêt et passer en revue votre code ligne par ligne.

Assurez-vous que la requête correspond aux entrées de votre application (par (exemple : le nom de la campagne ne correspond peut-être pas à la demande). Assurez-vous que vous envoyez une masque de champ correspondant aux mises à jour souhaitées : l'API Google Ads n'accepte que les mises à jour fragmentées. L'omission d'un champ du masque de champ dans une requête mutate indique que l'API vous devez le laisser tranquille. Si votre application récupère un objet, le modifie et le renvoie, il se peut que vous écriviez dans un champ la prise en charge de la mise à jour. Consultez la description du champ dans la documentation de référence documentation pour savoir si des restrictions s'appliquent peut mettre à jour le champ.

Obtenir de l'aide

Il n'est pas toujours possible d'identifier et de résoudre le problème par vous-même. Poser des questions sur le forum expose votre question à des milliers de développeurs qui ont peut-être eu à traiter le même problème.

Essayez d'inclure autant d'informations que possible dans vos requêtes. Nous vous conseillons, entre autres, de fournir les informations suivantes :

  • Requête et réponse JSON nettoyées. Veillez à supprimer les données sensibles telles que votre jeton de développeur ou votre AuthToken.
  • Extraits de code : Si vous rencontrez un problème de langue ou si demandez de l'aide concernant l'utilisation de l'API, incluez un extrait de code pour aider expliquer ce que vous faites.
  • RequestId. Cela permet aux membres de l'équipe Google Developers Relations de localiser votre requête si elle est effectuée dans l'environnement de production. Mer nous vous recommandons d'enregistrer dans vos journaux le requestId inclus en tant que propriété dans les exceptions qui encapsulent les erreurs de réponse, ainsi que le contexte que "requestId" seul.
  • Des informations supplémentaires, telles que la version de l'environnement d'exécution/de l'interpréteur et peut également être utile lors du dépannage.

Corriger le problème

Maintenant que vous avez compris le problème et trouvé une solution, il est temps pour effectuer la modification et tester le correctif dans un compte test (méthode recommandée). production (si le bug ne s'applique qu'aux données d'un compte de production spécifique).

Envisagez de partager

Si vous avez publié sur le forum une question concernant une erreur qui n'avait pas été et que vous avez trouvé la solution, pensez à l'ajouter thread. La prochaine fois qu'un développeur rencontre le même problème, il sera en mesure de le résoudre immédiatement.

Étapes suivantes

Maintenant que vous avez résolu ce problème, avez-vous remarqué des moyens d'améliorer votre pour éviter cela ?

La création d'un bon ensemble de tests unitaires permet d'améliorer la qualité et la fiabilité du code considérablement. Cela accélère également le processus de test des nouvelles modifications pour garantir elles n'ont pas impacté les fonctionnalités précédentes. Une bonne stratégie de gestion des erreurs est également clé pour afficher toutes les données nécessaires au dépannage.