La section "Spécification de l'API" fournit une présentation détaillée des composants techniques essentiels à l'intégration à la plate-forme, y compris les niveaux d'accès, les définitions de types de données et les structures de points de terminaison. Cette API représente une évolution stratégique de l'ancienne API Web Fitbit, reconstruite sur une infrastructure moderne pour garantir une expérience de développement plus stable et cohérente.
Niveaux d'accès
Vous devez mettre à jour votre demande d'autorisation pour utiliser les niveaux d'accès de l'API Google Health. Les niveaux d'accès définissent si votre application est compatible avec les opérations de lecture ou d'écriture. Suivez les instructions d'implémentation des niveaux d'accès, qui spécifient de ne demander que les niveaux d'accès nécessaires, de configurer l'accès en écriture uniquement lors de l' envoi de données et de gérer correctement le consentement partiel.
Les niveaux d'accès de l'API Google Health sont une URL HTTP commençant par https://www.googleapis.com/auth/googlehealth.{scope}. Par exemple, https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly.
Mappages des niveaux d'accès
Voici comment les niveaux d'accès de l'API Web Fitbit sont mappés aux niveaux d'accès de l'API Google Health :
| Niveaux d'accès de l'API Web Fitbit | Niveaux d'accès de l'API Google Health |
|---|---|
| activité | .activity_and_fitness.readonly
.activity_and_fitness.writeonly |
| blood_glucose | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| cardio_fitness | .activity_and_fitness.readonly
.activity_and_fitness.writeonly |
| electrocardiogram | .ecg.readonly
|
| fréq. cardiaque | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| irregular_rhythm_notifications | .irn.readonly
|
| position | .location.readonly
|
| nutrition | .nutrition.readonly
.nutrition.writeonly |
| oxygen_saturation | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| profil | .profile.readonly
.profile.writeonly |
| respiratory_rate | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| paramètres | .settings.readonly
.settings.writeonly |
| sommeil | .sleep.readonly
.sleep.writeonly |
| température | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| weight | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
Types de données
Voici une liste des types de données de l'API Google Health et de leur mappage avec l'API Web Fitbit.
Pour en savoir plus sur la façon dont les données sont signalées pour ces types, consultez le guide Présence des données et vrais zéros. Ce guide inclut des informations sur l'inactivité et le filtrage sur le poignet.
| Type de données de l'API Web Fitbit | Type de données de l'API Google HealthdataType |
|---|---|
| Dépense calorique | Énergie dépensée en activitéactive-energy-burned
|
| Minutes en zone active | Minutes en zone activeactive-zone-minutes
|
| Contient les modifications des niveaux d'activité de l'utilisateur | Niveau d'activitéactivity-level
|
| Élévation | Altitudealtitude
|
| Taux de glycémie | Taux de glycémieblood-glucose
|
| Masse grasse | Masse grassebody-fat
|
caloriesOut dans chaque zone de fréquence cardiaque |
Calories dans la zone de fréquence cardiaquecalories-in-heart-rate-zone
|
| Température (corporelle) | Température corporellecore-body-temperature
|
| Résumé de la VRC | Variabilité quotidienne de la fréquence cardiaquedaily-heart-rate-variability
|
| Résumé de la SpO2 | Saturation quotidienne en oxygènedaily-oxygen-saturation
|
| Fréquence cardiaque au repos | Fréquence cardiaque quotidienne au reposdaily-resting-heart-rate
|
| Température cutanée | Dérivations quotidiennes de la température du sommeildaily-sleep-temperature-derivations
|
| Distance | Distancedistance
|
| Électrocardiogramme (ECG) | Électrocardiogramme (ECG)electrocardiogram
|
| Activité enregistrée | Exerciceexercise
|
| Étages | Étages gravisfloors
|
| Nourriture | Nourriturefood
|
| Nourriture | Nourriturefood
|
| Unité de mesure des aliments | Unité de mesure des alimentsfood-measurement-unit
|
| Unité de mesure des aliments | Unité de mesure des alimentsfood-measurement-unit
|
| Fréquence cardiaque | Fréquence cardiaqueheart-rate
|
| VRC intraday | Variabilité de la fréquence cardiaqueheart-rate-variability
|
| Notifications de rythme irrégulier (NRI) | Notification de rythme irrégulierirregular-rhythm-notification
|
| Journal d'alimentation | Journal de nutritionnutrition-log
|
| Journal d'alimentation | Journal de nutritionnutrition-log
|
| SpO2 intraday | Saturation en oxygèneoxygen-saturation
|
| Valeur de la VO2 max lorsque l'utilisateur court | VO2 max de la courserun-vo2-max
|
| Minutes de la série temporelle d'activité sédentaire | Période sédentairesedentary-period
|
| Sommeil | Sommeilsleep
|
| Étapes | Étapessteps
|
| Série temporelle d'activité : mouvements de natation | Données sur les longueurs de nageswim-lengths-data
|
Activité caloriesOut |
Calories totalestotal-calories
|
| Valeur de la VO2 max | VO2 maxvo2-max
|
| Poids | Poidsweight
|
Points de terminaison
Les points de terminaison REST adoptent une syntaxe cohérente pour tous les types de données.
- Point de terminaison de service : l'URL HTTP de base est remplacée par https://health.googleapis.com.
- Syntaxe du point de terminaison : l'API Google Health est compatible avec un nombre limité de points de terminaison, qui peuvent être utilisés par la plupart des types de données compatibles. Cela fournit une syntaxe cohérente pour tous les types de données et facilite l'utilisation des points de terminaison.
- Identifiant utilisateur : l'ID utilisateur ou "me" doit être spécifié dans la syntaxe du point de terminaison. Lorsque vous utilisez "me", l'ID utilisateur est déduit du jeton d'accès.
Exemple : Voici un exemple du point de terminaison GET Profile appelé à l'aide de l' API Google Health.
GET https://health.googleapis.com/v4/users/me/profile
Mappages des points de terminaison
Consultez le tableau des types de données de l'API Google Health pour obtenir la liste des types de données disponibles et des méthodes d'API qu'ils prennent en charge.
| Type de point de terminaison de l'API Web Fitbit | API Google Health |
| GET (Log | Summary | Daily Summary) lorsque vous demandez les données d'une seule journée | Méthode dailyRollup avec windowSize = 1 jour |
| GET (Intraday) lorsque vous demandez des données granulaires | Méthode list |
| GET (Série temporelle) par date ou intervalle | Méthode rollUp ou dailyRollUp incluant une période |
| GET (Liste des journaux) | Méthode list |
| CRÉER ET METTRE À JOUR des journaux | Méthode patch |
| SUPPRIMER des journaux | Méthode batchDelete |
| OBTENIR le profil | users.getProfile renvoie les informations spécifiques de l'utilisateur
users.getSettings renvoie les unités et les fuseaux horaires de l'utilisateur |
| METTRE À JOUR le profil | users.updateProfile modifie les informations spécifiques de l'utilisateur
users.updateSettings modifie les unités et les fuseaux horaires de l'utilisateur |
| Obtenir l'ID utilisateur | users.getIdentity renvoie l'ancien ID utilisateur Fitbit et l'ID utilisateur Google utilisateur. |
| Obtenir les appareils | users.pairedDevices renvoie la liste des appareils associés |
| Créer des abonnements | projects.subscribers.subscriptions.create crée manuellement un abonnement |
| Supprimer des abonnements | projects.subscribers.subscriptions.delete supprime un abonnement |
| Obtenir la liste des abonnements | projects.subscribers.subscriptions.list répertorie tous les abonnements |