Traitement des erreurs et messages liés aux connecteurs de communauté

Pour offrir une expérience utilisateur de qualité, votre code doit gérer les erreurs correctement. Présenter aux utilisateurs des messages d'erreur exploitables qui décrivent les mesures correctives pour résoudre le problème.

Ce document décrit les erreurs qui peuvent se produire avec les connecteurs, des messages et sur la façon de gérer correctement les erreurs de connecteur.

Info: Pour en savoir plus sur la gestion des exceptions en JavaScript, consultez Instruction try...catch.

Types d'erreurs

Les types et les causes d'erreurs qu'un utilisateur peut rencontrer lors de l'utilisation de votre appartiennent généralement à l'une des trois catégories suivantes:

  1. erreurs internes du connecteur
  2. erreurs externes du connecteur
  3. Erreurs dans Looker Studio

Les erreurs internes et externes du connecteur doivent être gérées par le connecteur développeur. Ces erreurs sont dues à du code créé par le développeur.

Erreur interne du connecteur

Des erreurs internes de connecteur se produisent pendant leur exécution. Par exemple, si un Le connecteur ne peut pas analyser une réponse de l'API pendant l'exécution de getData(). Ces erreurs doivent être anticipées et traitées avec des explications conviviales. le cas échéant.

Pour plus d'informations sur la gestion des erreurs internes du connecteur, consultez Bonnes pratiques de gestion des erreurs de connecteur

Erreur externe du connecteur

Des erreurs externes de connecteur se produisent après l'exécution du connecteur. Par exemple, lorsqu'un La requête getData() pour trois champs ne renvoie des données que pour deux champs. Bien que le le connecteur a terminé son exécution, il n'a pas répondu à la demande de Looker dans Google Marketing Platform Studio. Des tests approfondis peuvent éviter ces erreurs.

Les erreurs externes liées aux connecteurs peuvent généralement être corrigées en examinant les détails des erreurs (si et déboguer le code pour identifier le problème. Pour en savoir plus sur déboguer le connecteur, consultez la section Déboguer votre code.

Erreur Looker Studio

Les erreurs Looker Studio ne sont pas liées au code de votre connecteur. Par exemple : si un utilisateur tente d'utiliser un graphique de série temporelle avec une source de données sans la dimension date/heure.

Si l'erreur n'est pas directement liée au connecteur, aucune action n'est requise. au développeur du connecteur. Les utilisateurs peuvent obtenir de l'aide supplémentaire en accédant à la page le Centre d'aide Looker Studio.

Affichage des messages d'erreur

Affichage des détails de l'erreur en fonction de l'état de l'administrateur

Lorsqu'un connecteur génère une erreur, Looker Studio affiche le message d'erreur en fonction du statut d'administrateur de l'utilisateur.

  • S'il s'agit d'un administrateur, il verra tous les détails. Cela inclut le message d'erreur, le type d'erreur et la trace de la pile.
  • Si l'utilisateur n'est pas administrateur, il ne verra les détails que si le compte inclut un message convivial. Pour en savoir plus sur l'affichage de l'erreur messages destinés aux utilisateurs non-administrateurs, voir Génération d'erreurs visibles par les utilisateurs.

Générer des erreurs visibles par l'utilisateur

Par défaut, seuls les administrateurs du connecteur voient les détails des erreurs. Cela permet d'éviter la divulgation accidentelle d'informations sensibles, comme une clé API dans une pile ; traceur. Pour afficher des messages d'erreur pour les utilisateurs non administrateurs, utilisez newUserError() dans le Service Apps Script Looker Studio

Exemple :

try {
  // API request that can be malformed.
  getDataFromAPI();
} catch (e) {
  DataStudioApp.createCommunityConnector()
      .newUserError()
      .setDebugText('Error fetching data from API. Exception details: ' + e)
      .setText('There was an error communicating with the service. Try again later, or file an issue if this error persists.')
      .throwException();

}

Dans cet exemple, setText() définit le texte qui sera présenté à tous les utilisateurs, tandis que setDebugText() définit le texte qui ne sera visible que par les administrateurs.

Bonnes pratiques de gestion des erreurs de connecteur

Essayez d'identifier et de gérer autant d'erreurs que possible l'exécution du code de connecteur. Par exemple, certaines opérations courantes qui peuvent provoquer des erreurs ou un état indésirable incluent:

  • Échec de la tentative de récupération d'URL (erreurs temporaires, délais avant expiration)
  • Aucune donnée disponible pour la période demandée
  • Impossible d'analyser ou de mettre en forme les données de l'API
  • Les jetons d'autorisation ont été révoqués

Gérer les erreurs récupérables

Les points d'exécution du connecteur qui peuvent échouer, mais qui peuvent être récupérés doivent être gérés. Par exemple, si une requête API échoue pour une raison non fatale (comme délestage du serveur), une nouvelle tentative doit être effectuée avant de générer une erreur.

Détection et génération d'erreurs

Les erreurs non récupérables doivent être détectées et générées à nouveau. L'erreur renvoyée doit aider les utilisateurs à comprendre pourquoi l'erreur s'est produite. Si le problème peut être résolu des détails sur les mesures correctives doivent ensuite être fournis.

Consultez la section Générer des erreurs des utilisateurs.

Consigner les erreurs dans Stackdriver

Consignez les erreurs et les autres messages à l'aide de Stackdriver. Cela aide à comprendre les erreurs, résoudre les problèmes et découvrir les exceptions non gérées.

Pour en savoir plus sur Stackdriver Error Reporting et découvrir comment activer la journalisation des exceptions pour un script et comment identifier en toute sécurité les utilisateurs à des fins de débogage, consultez Utiliser Stackdriver Logging

OBSOLÈTE: Utilisez le préfixe DS_USER: pour afficher des messages d'erreur sécurisés

Pour fournir des messages d'erreur conviviaux aux utilisateurs non administrateurs, incluez le paramètre Préfixe DS_USER: avec des messages d'erreur. Ce préfixe sert à identifier pour les utilisateurs non-administrateurs et n'est pas inclus dans le message d'erreur réel.

Les exemples suivants incluent un cas où un message d'erreur s'affiche pour Les utilisateurs non-administrateurs, ou un autre pour lequel un message d'erreur ne s'affichera que pour les administrateurs utilisateurs:

data-studio/errors.gs
// Admin and non-admin users will see the following error.
try {
  // Code that might fail.
} catch (e) {
  throw new Error('DS_USER:This will be shown to admin & non-admin.');
}

// Only admin users will see the following error.
try {
  // Code that might fail.
} catch (e) {
  throw new Error('This message will only be shown to admin users');
}