Spécifications de l'API

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 :

Tableau : Mappages des portées de l'API Web Fitbit vers l'API Google Santé
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.

Tableau : Mappages des types de données de l'API Web Fitbit vers l'API Google Health
Type de données de l'API Web Fitbit Type de données de l'API Google Health
  dataType
Calories d'activité Énergie active dépensée
  active-energy-burned
Minutes en zone active Minutes en zone active
  active-zone-minutes
Contient les modifications apportées aux niveaux d'activité de l'utilisateur Niveau d'activité
  activity-level
Élévation Altitude
  altitude
Taux de glycémie Glycémie
  blood-glucose
Masse grasse Masse grasse
  body-fat
caloriesOut dans chaque zone de fréquence cardiaque Calories brûlées dans la zone de fréquence cardiaque
  calories-in-heart-rate-zone
Température (corporelle) Température corporelle
  core-body-temperature
Récapitulatif de la VFC Variabilité quotidienne de la fréquence cardiaque
  daily-heart-rate-variability
Récapitulatif de la SpO2 Saturation en oxygène quotidienne
  daily-oxygen-saturation
Fréquence cardiaque au repos Fréquence cardiaque au repos quotidienne
  daily-resting-heart-rate
Température cutanée Dérivations quotidiennes de la température du sommeil
  daily-sleep-temperature-derivations
Distance Distance
  distance
Électrocardiogramme (ECG) Électrocardiogramme (ECG)
  electrocardiogram
Activité enregistrée Exercise
  exercise
Étages Étages
  floors
Nourriture Nourriture
  food
Unité de mesure des aliments Unité de mesure des aliments
  food-measurement-unit
Fréquence cardiaque Fréquence cardiaque
  heart-rate
VRC intrajournalière Variabilité de la fréquence cardiaque
  heart-rate-variability
Notifications de rythme irrégulier Notification de rythme irrégulier
  irregular-rhythm-notification
Journal d'alimentation Journal de nutrition
  nutrition-log
SpO2 intrajournalier Saturation en oxygène
  oxygen-saturation
Valeur de la VO2 max lorsque l'utilisateur court VO2 max de la course
  run-vo2-max
Minutes sédentaires de la série temporelle d'activité Période sédentaire
  sedentary-period
Sommeil Sommeil
  sleep
Étapes Étapes
  steps
Mouvements de nage des séries temporelles d'activité Données sur les longueurs de piscine
  swim-lengths-data
Activité caloriesOut Total des calories
  total-calories
Valeur de la VO2 max VO2 max
  vo2-max
Poids Poids
  weight

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.