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'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 Fitbit Web. Elle a été reconstruite sur une infrastructure moderne pour offrir 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 accepte les opérations de lecture ou d'écriture. N'utilisez pas de portées dont votre application n'a pas besoin. Vous pourrez toujours en ajouter d'autres ultérieurement si la conception de votre application change.
Les champs d'application de l'API Google Health sont des 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 de portée
Voici comment les champs d'application de l'API Fitbit Web correspondent à ceux de l'API Google Health :
| Niveaux d'accès à l'API Fitbit Web | Champs d'application 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 |
| électrocardiogramme | .ecg.readonly
|
| fréquence 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
Vous trouverez ci-dessous la liste des types de données de l'API Google Santé et leur correspondance avec l'API Web Fitbit.
| Type de données de l'API Web Fitbit | Type de données de l'API Google HealthdataType |
|---|---|
| Calories d'activité | Énergie active dépensé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 | Glycémieblood-glucose
|
| Masse grasse | Masse grassebody-fat
|
caloriesOut dans chaque zone de fréquence cardiaque |
Calories brûlées dans la zone de fréquence cardiaquecalories-in-heart-rate-zone
|
| Température (corporelle) | Température corporellecore-body-temperature
|
| Récapitulatif de la VFC | Variabilité quotidienne de la fréquence cardiaquedaily-heart-rate-variability
|
| Récapitulatif de la SpO2 | Saturation en oxygène quotidiennedaily-oxygen-saturation
|
| Fréquence cardiaque au repos | Fréquence cardiaque au repos quotidiennedaily-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 | Exerciseexercise
|
| Étages | Étagesfloors
|
| Nourriture | Nourriturefood
|
| Unité de mesure des aliments | Unité de mesure des alimentsfood-measurement-unit
|
| Fréquence cardiaque | Fréquence cardiaqueheart-rate
|
| VRC intrajournalière | Variabilité de la fréquence cardiaqueheart-rate-variability
|
| Notifications de rythme irrégulier | Notification de rythme irrégulierirregular-rhythm-notification
|
| Journal d'alimentation | Journal de nutritionnutrition-log
|
| SpO2 intrajournalier | Saturation en oxygèneoxygen-saturation
|
| Valeur de la VO2 max lorsque l'utilisateur court | VO2 max de la courserun-vo2-max
|
| Minutes sédentaires de la série temporelle d'activité | Période sédentairesedentary-period
|
| Sommeil | Sommeilsleep
|
| Étapes | Étapessteps
|
| Mouvements de nage des séries temporelles d'activité | Données sur les longueurs de piscineswim-lengths-data
|
Activité caloriesOut |
Total des caloriestotal-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 devient https://health.googleapis.com.
- Syntaxe des points 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 permet d'obtenir une syntaxe cohérente pour tous les types de données et de faciliter l'utilisation des points de terminaison.
- Identifiant utilisateur : l'ID utilisateur ou "moi" doivent être spécifiés 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 de 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 Types de données de l'API Google Santé 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) where you are requesting a single day of data | Méthode dailyRollup avec windowSize = 1 jour |
| GET (intraday) lorsque vous demandez des données précises | Méthode list |
| GET (série temporelle) par date ou intervalle | Méthode rollUp ou dailyRollUp incluant une plage de dates |
| GET (liste des journaux) | Méthode list |
| Journaux CREATE & UPDATE | Méthode patch |
| SUPPRIMER les 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. |
| MODIFIER 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 de l'utilisateur. |
| Obtenir des 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 liste tous les abonnements. |