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 à l'autorisation, 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. N'utilisez pas de niveaux d'accès qui ne sont pas nécessaires à votre application. Vous pouvez toujours en ajouter d'autres ultérieurement si la conception de votre application change.
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
|
| heartrate | .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 |
|---|---|
| Calories d'activité | Énergie active brûléeactive-energy-burned
|
| Minutes en zone active | Minutes en zone activeactive-zone-minutes
|
| Contient les modifications apportées aux 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 (centrale) | Température corporelle centralecore-body-temperature
|
| Résumé de la VFC | 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
|
| Unité de mesure des aliments | Unité de mesure des alimentsfood-measurement-unit
|
| Fréquence cardiaque | Fréquence cardiaqueheart-rate
|
| VFC intrajournalière | Variabilité de la fréquence cardiaqueheart-rate-variability
|
| Notifications de rythme irrégulier (NRI) | Notification de rythme irrégulierirregular-rhythm-notification
|
| Journal alimentaire | Journal de nutritionnutrition-log
|
| SpO2 intrajournalière | Saturation en oxygèneoxygen-saturation
|
| Valeur VO2 max lorsque l'utilisateur court | VO2 max en courserun-vo2-max
|
| Minutes sédentaires de la série temporelle d'activité | Période sédentairesedentary-period
|
| Sommeil | Sommeilsleep
|
| Étapes | Étapessteps
|
| Série temporelle d'activité : mouvements de natation | Données sur les longueurs de natationswim-lengths-data
|
Activité caloriesOut |
Calories totalestotal-calories
|
| Valeur 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 passe à 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 moi doit être spécifié dans la syntaxe du point de terminaison. Lorsque vous utilisez moi, 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 |