Dépannage

Ce guide explique comment résoudre les problèmes courants liés à l'utilisation de l'API Google Health.

Erreurs de client 4xx

Les codes d'état 4xx sont renvoyés lorsqu'un problème existe dans le code de l'application cliente. Consultez les éléments du corps de la réponse pour en savoir plus sur le problème.

400 Requête incorrecte

Message Description Recommandation
La requête contient un argument non valide. L'ID de type de données {value} n'est pas accepté. Vérifiez que le type de données référencé est accepté par le point de terminaison.
Charge utile JSON non valide reçue. Les nombres octaux/hexadécimaux ne sont pas des valeurs JSON valides. Le point de terminaison dailyRollUp n'accepte pas les valeurs de mois et de jour représentées respectivement par MM ou JJ. Les chiffres uniques ne doivent pas être précédés d'un 0 (zéro).
Numéro de projet non valide dans le nom de la ressource Lors de la suppression ou de la mise à jour d'un abonné à l'aide de l'ID de votre projet Google Cloud dans l'URL de la requête au lieu du numéro de projet. Cela s'applique aux abonnements webhook à l'aide du point de terminaison projects.subscribers. Utilisez le numéro de votre projet Google Cloud dans l'URL de la requête, et non l'ID du projet.

401 Unauthorized

Message Description Recommandation
La requête comporte des identifiants d'authentification incorrects. Le système s'attend à un jeton d'accès OAuth 2, à un cookie de connexion ou à d'autres identifiants d'authentification valides. INVALID_AUTHENTICATOR : Jeton expiré Votre jeton d'accès a expiré. Utilisez le jeton d'actualisation pour obtenir un nouveau jeton d'accès et un nouveau jeton d'actualisation, ou demandez à l'utilisateur de donner à nouveau son consentement à l'application.

403 Interdit

Message Description Recommandation
L'appelant n'a pas l'autorisation requise Lors de la création ou de la liste des abonnés à l'aide de l'ID de votre projet Google Cloud dans l'URL de la requête au lieu du numéro de projet. Cela s'applique aux abonnements webhook à l'aide du point de terminaison projects.subscribers. Utilisez le numéro de votre projet Google Cloud dans l'URL de la requête, et non l'ID du projet.
L'appelant ne dispose pas de l'autorisation requise. Impossible de créer un UberMint à partir d'un GaiaMint.

L'utilisateur a pu effectuer le flux d'autorisation, mais l'appel de point de terminaison a échoué. Cela peut se produire lorsqu'un ancien compte Fitbit donne son consentement à l'application au lieu d'un compte Google. Pour résoudre cette erreur :

  1. Déconnectez-vous de l'application mobile Fitbit via les paramètres Fitbit.
  2. Connectez-vous à l'app mobile Fitbit en appuyant sur le bouton "Continuer avec Google" ou "Se connecter avec Google". Si vous recevez un message indiquant que vous ne pouvez pas utiliser Fitbit avec ce compte Google, votre adresse e-mail est toujours enregistrée en tant qu'ancien compte Fitbit. Suivez les étapes décrites dans cet article d'aide pour migrer votre compte.

404 Not Found

Message Description Recommandation
L'URL demandée /v4/users/me/dataTypes/{dataType}/dataPoints n'a pas été trouvée sur ce serveur. Causes possibles :
  • Vérifiez que le verbe approprié est utilisé.
  • Vérifiez la syntaxe du point de terminaison pour détecter les fautes de frappe.

Récupérer un ID utilisateur Fitbit

Pour résoudre un problème utilisateur, vous devrez peut-être vérifier le compte Google de l'utilisateur connecté à l'app mobile Fitbit.

Pour trouver l'ID utilisateur Fitbit :

  1. Ouvrez l'application mobile Fitbit.
  2. Appuyez sur l'icône Vous en bas à droite.
  3. Appuyez sur le lien Modifier le profil dans la fiche supérieure contenant le nom de l'utilisateur et la date d'inscription.
  4. Accédez au bas de la page. Dans la section Votre compte, la valeur attribuée à l'ID correspond à l'ID utilisateur Fitbit. (Par exemple : CV5TKH)

Lorsque vous aidez un utilisateur à résoudre un problème de connexion OAuth2 à votre application, vous devrez peut-être lui demander de dissocier son compte de votre application, puis d'effectuer à nouveau votre flux d'autorisation.

Pour dissocier son compte Google de votre application :

  1. Ouvrez l'application mobile Fitbit.
  2. Appuyez sur l'icône de profil utilisateur Fitbit en haut à droite.
  3. Appuyez sur Gérer votre compte Google.
  4. Sélectionnez la fiche Données et confidentialité.
  5. Accédez à la section **Données des applis et services que vous utilisez**. Sous Applis et services, sélectionnez Applis et services tiers.
  6. Recherchez le nom de votre application dans la liste des applications connectées et demandez à l'utilisateur de la sélectionner.
  7. Appuyez sur Supprimer toutes les connexions que vous avez avec <nom de l'application>.
  8. Demandez à l'utilisateur d'appuyer sur "Confirmer" pour révoquer le consentement de votre application.

Une fois le processus de révocation terminé, l'utilisateur est redirigé vers la liste de la page Applis et services tiers. Il devra peut-être actualiser la page pour que le nom de l'application soit supprimé de la liste.

Résoudre les problèmes de synchronisation des appareils

Lorsque vous déboguez des problèmes liés à des données utilisateur manquantes ou retardées, il est utile de vérifier le modèle d'appareil associé de l'utilisateur et sa dernière date de synchronisation.

Les informations sur le modèle (par exemple, un modèle de montre connectée ou de bracelet connecté Fitbit) et la dernière date de synchronisation sont utiles pour résoudre les problèmes et récupérer les données historiques après des retards de synchronisation.

Par exemple, si vous constatez un écart ou un retard inattendu dans la diffusion des données :

  1. Vérifiez que l'ID utilisateur que vous interrogez correspond à l'ID utilisateur du compte Fitbit connecté à l'application mobile. Pour obtenir l'ID utilisateur dans l'application mobile, consultez Récupérer un ID utilisateur Fitbit. Pour obtenir l'ID utilisateur à partir du jeton d'accès, appelez le getIdentity point de terminaison.
  2. Vérifiez la dernière heure de synchronisation pour déterminer quand l'appareil de l'utilisateur a été synchronisé pour la dernière fois avec l'application mobile Google Health.
  3. Si l'appareil n'a pas été synchronisé récemment, cela indique que le retard est probablement dû au fait que l'appareil est hors connexion ou qu'il n'est pas synchronisé avec l'application mobile, plutôt qu'à un problème d'API.
  4. Une fois que l'utilisateur ouvre l'application mobile et synchronise son appareil, vous pouvez récupérer les données historiques pour la période écoulée depuis la dernière heure de synchronisation.

Pour récupérer les informations sur l'appareil associé d'un utilisateur, appelez le users.pairedDevices.list point de terminaison. Cela renvoie une liste d'appareils contenant les éléments suivants :

  • deviceVersion: nom du produit ou modèle de l'appareil (par exemple, "Charge 6").
  • lastSyncTime : code temporel de la dernière synchronisation réussie.