Effectuer votre premier appel d'API Google Santé à l'aide d'OAuth2 Playground

1. Introduction

OAuth 2.0 Playground est un outil Web qui vous permet de tester les flux Google OAuth 2.0 sans écrire de code. Cet atelier de programmation vous montrera comment configurer votre projet Google Cloud, obtenir des identifiants, lancer un flux d'autorisation avec OAuth 2.0 Playground et effectuer votre premier appel à l'un des points de terminaison de l'API Google Health.

Points abordés

  • Configurer un ID client dans la console Google Cloud
  • Découvrez comment suivre le flux d'autorisation Google OAuth 2.0 pour obtenir un jeton d'accès et un jeton d'actualisation à l'aide d'OAuth 2.0 Playground.
  • Découvrez comment effectuer des appels aux points de terminaison de l'API Google Health à l'aide d'OAuth 2.0 Playground.

Prérequis

Pour configurer l'application mobile Fitbit :

  1. Recherchez l'application mobile Fitbit sur l'App Store d'Apple ou le Google Play Store, puis téléchargez-la.
  2. Sélectionnez l'icône de l'application.
  3. Cliquez sur Sign in with Google (Se connecter avec Google).
  4. Sélectionnez votre compte Google, puis appuyez sur le bouton Continuer.

2. Configurer un projet Google Cloud

Vous utiliserez la console Google Cloud pour créer un ID client et activer l'utilisation de l'API Google Health.

  1. Connectez-vous à la console Google Cloud.
  2. Pour créer un projet :
    1. Cliquez sur Sélectionner un projet dans le sélecteur de projets.
    2. En haut à droite, sélectionnez Nouveau projet.
    3. Saisissez le nom du projet.
    4. Saisissez votre emplacement (par exemple, "Aucune organisation").
    5. Cliquez sur le bouton Créer.
    6. Sélectionnez votre projet.

Activer l'API Google Health

  1. En haut à gauche, cliquez sur l'icône de menu :menu
  2. Sélectionnez APIs & Services > Library (API et services > Bibliothèque).
  3. Recherchez "API Google Health" et activez-la.

Configurer vos identifiants OAuth

Si vous n'êtes pas dans la console Google Cloud, accédez à la console Google Cloud.

  1. En haut à gauche, cliquez sur l'icône de menu :menu
  2. Sélectionnez API et services > Identifiants.
  3. En haut au centre, sélectionnez + Créer des identifiants > ID client OAuth.
  4. Cliquez sur le bouton Configurer l'écran d'autorisation. Si le message "Google Auth Platform pas encore configuré" s'affiche, cliquez sur le bouton Premiers pas.
  5. Dans la section 1 :
    1. Saisissez le nom de l'application.
    2. Saisissez l'adresse e-mail d'assistance utilisateur.
    3. Cliquez sur le bouton Suivant.
  6. Dans la section 2 :
    1. Sélectionnez Externe.
    2. Cliquez sur le bouton Suivant.
  7. Dans la section 3 :
    1. Saisissez votre adresse e-mail dans le champ Coordonnées.
    2. Cliquez sur le bouton Suivant.
  8. Dans la section 4 :
    1. Cochez la case pour accepter le Règlement sur les données utilisateur dans les services d'API Google.
    2. Cliquez sur le bouton Créer.
  9. Accédez à API et services > Identifiants, puis sélectionnez + Créer des identifiants > ID client OAuth.
  10. Sélectionnez le type d'application Application Web.
  11. Saisissez le nom de l'ID client.
  12. Laissez le champ Origines JavaScript autorisées vide.
  13. Sous URI de redirection autorisés, cliquez sur + Ajouter un URI et ajoutez les URI suivants :
    • https://www.google.com
    • https://developers.google.com/oauthplayground
  14. Cliquez sur le bouton Créer.
  15. La console Google affichera un message indiquant que votre ID client a été créé. Cliquez sur le lien Télécharger au format JSON pour télécharger l'ID client et le code secret du client, ou notez les valeurs. Vous ne pourrez pas récupérer le secret de votre client par la suite.
  16. Cliquez sur OK. Vous serez redirigé vers la page "ID client OAuth 2.0".
  17. Votre ID client sera ajouté à votre projet. Cliquez sur l'URL de l'ID client pour afficher les détails.

Ajouter des utilisateurs de test

  1. Dans le volet de gauche, sélectionnez Audience. L'état de publication doit être défini sur Test et le type d'utilisateur sur Externe.
  2. Dans la section "Utilisateurs de test", cliquez sur le bouton + Ajouter des utilisateurs. Saisissez l'adresse e-mail de tout utilisateur dont vous souhaitez récupérer les données.
  3. Cliquez sur le bouton Enregistrer.

Ajouter des champs d'application à l'ID client

  1. Dans le volet de gauche, sélectionnez Accès aux données.
  2. Cliquez sur le bouton Ajouter ou supprimer des champs d'application.
  3. Dans la colonne "API", recherchez "API Google Health". Pour cet atelier de programmation, nous utilisons le champ d'application .../auth/googlehealth.activity_and_fitness.readonly.
  4. Après avoir sélectionné le champ d'application, appuyez sur le bouton Mettre à jour pour revenir à la page "Accès aux données".
  5. Cliquez sur le bouton Enregistrer.

Vous avez terminé de configurer votre ID client.

3. Ajouter des données à l'application mobile Fitbit

Si vous êtes un nouvel utilisateur Fitbit, il est possible que vous n'ayez pas de données dans votre compte Fitbit à interroger. Nous allons ajouter manuellement un journal d'exercices que nous pourrons interroger via l'un des points de terminaison. Pour enregistrer manuellement un exercice, procédez comme suit :

  1. Ouvrez l'application mobile Fitbit sur votre appareil. Si nécessaire, connectez-vous à votre compte Fitbit.
  2. En bas à droite de l'écran, appuyez sur le bouton +.
  3. Dans la section "Enregistrer manuellement", appuyez sur Activité.
  4. Recherchez le type d'exercice Marche et sélectionnez-le.
  5. Saisissez une heure de début pour aujourd'hui.
  6. Définissez la durée sur 15 minutes.
  7. Laissez la distance sur 1,6 km.
  8. Appuyez sur Ajouter.
  9. Synchronisez l'application mobile avec les serveurs Fitbit en appuyant de manière prolongée sur l'écran et en le faisant glisser vers le bas. Lorsque vous relâchez votre doigt, la synchronisation de l'application mobile devrait s'afficher.
  10. Dans la section "Activité", vous devriez voir l'entrée de marche enregistrée manuellement.Capture d'écran montrant une activité de marche.

4. Autoriser dans OAuth 2.0 Playground

Accédez à OAuth 2.0 Playground.

L'API Google Health nécessite que vous utilisiez vos propres identifiants OAuth avec Playground.

  1. Cliquez sur l'icône en forme de roue dentée Configuration OAuth 2.0 en haut à droite.
  2. Cochez la case Use your own OAuth credentials (Utiliser vos propres identifiants OAuth).
  3. Saisissez l'ID client OAuth et le code secret du client OAuth que vous avez obtenus lors de la configuration du projet Google Cloud.

L'interface Playground est divisée en trois étapes principales que nous allons suivre :

  1. Sélectionner et autoriser les API
  2. Échanger le code d'autorisation contre des jetons
  3. Envoyer une requête à l'API

Sélectionner et autoriser les API

C'est ici que vous choisissez les niveaux d'accès aux API que vous souhaitez demander.

  1. À l'étape 1, recherchez Google Health API v4 dans la liste des API, puis développez-la.
  2. Sélectionnez https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly. Si le champ d'application dont vous avez besoin ne s'affiche pas dans la liste, vous pouvez le saisir manuellement dans le champ "Saisissez vos propres champs d'application".
  3. Cliquez sur Autoriser les API.
  4. Une requête est envoyée au point de terminaison d'autorisation OAuth 2.0 de Google. Les périmètres sélectionnés sont inclus dans la requête, puis vous êtes redirigé vers l'écran de consentement du compte Google.
  5. Connectez-vous avec un compte utilisateur test que vous avez configuré dans la section Configurer le projet Google Cloud (si vous n'êtes pas déjà connecté).
  6. Consultez les autorisations demandées, puis cliquez sur Continuer pour accorder l'accès.

Lorsque vous donnez votre consentement, Google vous redirige vers le bac à sable et fournit un code d'autorisation à l'outil, qui sera utilisé à l'étape suivante.

Le panneau Request / Response (Requête/Réponse) à droite affiche le flux de redirection HTTP complet.

La réponse à la demande d'autorisation initiale est une redirection 302 Found :

HTTP/1.1 302 Found
Location: https://accounts.google.com/o/oauth2/v2/auth?redirect_uri=https%3A%2F%2Fdevelopers.google.com%2Foauthplayground&prompt=consent&response_type=code&client_id=your_client_id&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgooglehealth.activity_and_fitness.readonly&access_type=offline

La requête résultante redirigée vers Playground contient le code d'autorisation :

GET /oauthplayground/?iss=https://accounts.google.com&code=authorization_code&scope=https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly HTTP/1.1
Host: developers.google.com

Le code d'autorisation est la valeur alphanumérique représentée par authorization_code entre code= et &scope dans l'URL de la requête GET. Dans cet exemple, la valeur est semblable à : 4/0AbPOj...

Échanger le code d'autorisation contre des jetons

Au cours de cette étape, le code est échangé contre des jetons qui vous permettent d'envoyer des requêtes API.

Après avoir effectué l'étape Sélectionner et autoriser des API, le bac à sable remplit automatiquement le champ du code d'autorisation. Pour l'échanger contre des jetons :

  1. À l'étape 2, cliquez sur le bouton Échanger le code d'autorisation contre des jetons.
  2. Les access_token et refresh_token s'affichent dans le panneau Request/Response (Requête/Réponse) à droite.

Un résultat semblable à celui-ci doit s'afficher :

{
  "access_token": "ya29.a0AFH6S....",
  "refresh_token_expires_in": 604799,
  "expires_in": 3599,
  "token_type": "Bearer",
  "scope": "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly",
  "refresh_token": "1/og..."
}

À propos des jetons d'actualisation

Lorsque vous échangez le code d'autorisation, la réponse peut inclure un refresh_token en plus du access_token. Les access_token ont une durée de vie limitée (généralement une heure). Lorsqu'un access_token expire, vous devez utiliser le refresh_token pour obtenir un nouveau access_token sans demander à l'utilisateur de se connecter ni de donner à nouveau son consentement. Cela est possible, car nous avons inclus access_type=offline dans notre demande d'autorisation.

Si vous ne recevez pas de refresh_token dans la réponse, c'est peut-être parce que vous avez déjà accordé votre autorisation pour cette application et ces autorisations. Les jetons d'actualisation ne sont généralement émis que la première fois qu'un utilisateur autorise votre application, ou lorsque prompt=consent est ajouté à l'URL d'autorisation pour forcer l'affichage de l'écran d'autorisation même lors des autorisations ultérieures.

Le refresh_token est durable, mais il peut expirer ou devenir non valide s'il n'est pas utilisé pendant six mois, si l'utilisateur révoque l'accès à votre application ou pour d'autres raisons. Vous devez stocker refresh_token de manière sécurisée pour une utilisation ultérieure.

À propos de la mise à jour des niveaux d'accès

Si votre application a besoin d'accéder ultérieurement à des niveaux d'accès supplémentaires de l'API Google Health, vous devez inviter l'utilisateur à autoriser à nouveau votre application et à demander l'ensemble complet des niveaux d'accès (existants et nouveaux).

Pour mettre à jour les niveaux d'accès dans la demande d'autorisation de votre application :

  1. Identifiez la liste complète des scopes dont votre application a besoin.
  2. Modifiez le paramètre scope dans l'URL d'autorisation pour inclure la liste mise à jour des valeurs de champ d'application, séparées par des espaces.
  3. Ajoutez prompt=consent à vos paramètres d'URI d'authentification. Lorsque prompt=consent est inclus, l'écran de consentement s'affiche chaque fois que votre application demande l'autorisation des scopes, ce qui invite l'utilisateur à approuver la liste mise à jour.

Une fois que l'utilisateur a donné son consentement, vous recevez un nouveau code d'autorisation qui peut être échangé contre des jetons couvrant l'ensemble des champs d'application.

5. Envoyer une requête à l'API

Vous pouvez maintenant utiliser votre jeton d'accès pour envoyer des requêtes à l'API Google Health. À l'étape 3 du Playground, configurez votre requête HTTP en spécifiant l'URI de la requête, la méthode HTTP, les en-têtes et le corps de la requête.

  1. Définissez HTTP Method sur GET.
  2. Définissez URI de la requête sur https://health.googleapis.com/v4/users/me/dataTypes/exercise/dataPoints.
  3. Cliquez sur Envoyer la demande.

La réponse doit ressembler à ceci :

{
  "dataPoints": [
    {
      "name": "users/2515055256096816351/dataTypes/exercise/dataPoints/8896720705097069096",
      "dataSource": {
        "recordingMethod": "MANUAL",
        "platform": "FITBIT"
      },
      "exercise": {
        "interval": {
          "startTime": "2026-02-23T13:10:00Z",
          "startUtcOffset": "-18000s",
          "endTime": "2026-02-23T13:25:00Z",
          "endUtcOffset": "-18000s"
        },
        "exerciseType": "WALKING",
        "metricsSummary": {
          "caloriesKcal": 16,
          "distanceMillimiters": 1609344,
          "steps": "2038",
          "averagePaceSecondsPerMeter": 0.55923407301360051,
          "activeZoneMinutes": "0"
        },
        "exerciseMetadata": {},
        "displayName": "Walk",
        "activeDuration": "900s",
        "exerciseEvents": [
          {
            "eventTime": "2026-02-23T13:10:00Z",
            "eventUtcOffset": "-18000s",
            "exerciseEventType": "START"
          },
          {
            "eventTime": "2026-02-23T13:25:00Z",
            "eventUtcOffset": "-18000s",
            "exerciseEventType": "STOP"
          }
        ],
        "updateTime": "2026-02-24T01:19:22.450466Z"
      }
    },
    {
      "name": "users/2515055256096816351/dataTypes/exercise/dataPoints/5870930690409355408",
      "dataSource": {
        "recordingMethod": "MANUAL",
        "platform": "FITBIT"
      },
      "exercise": {
        "interval": {
          "startTime": "2026-02-23T06:00:00Z",
          "startUtcOffset": "-18000s",
          "endTime": "2026-02-23T06:15:00Z",
          "endUtcOffset": "-18000s"
        },
        "exerciseType": "WALKING",
        "metricsSummary": {
          "caloriesKcal": 17,
          "distanceMillimiters": 1609344,
          "steps": "2038",
          "averagePaceSecondsPerMeter": 0.55923407301360051,
          "averageHeartRateBeatsPerMinute": "81",
          "activeZoneMinutes": "0",
          "heartRateZoneDurations": {
            "lightTime": "900s"
          }
        },
        "exerciseMetadata": {},
        "displayName": "Walk",
        "activeDuration": "900s",
        "exerciseEvents": [
          {
            "eventTime": "2026-02-23T06:00:00Z",
            "eventUtcOffset": "-18000s",
            "exerciseEventType": "START"
          },
          {
            "eventTime": "2026-02-23T06:15:00Z",
            "eventUtcOffset": "-18000s",
            "exerciseEventType": "STOP"
          }
        ],
        "updateTime": "2026-02-23T08:29:39.480437Z"
      }
    }
  ],
  "nextPageToken": ""
}

De nombreux points de terminaison acceptent les paramètres de requête pour le filtrage ou la pagination. Par exemple, pour lister les exercices dans une plage de temps spécifique, modifiez l'URI de la requête pour inclure un paramètre de filtre :

https://health.googleapis.com/v4/users/me/dataTypes/exercise/dataPoints?filter=exercise.interval.civil_start_time >= "2026-02-22T00:00:00"

Cliquez de nouveau sur Envoyer la demande pour afficher les résultats filtrés.

6. Félicitations

Félicitations !

Vous avez terminé l'atelier de programmation de base et avez appris à utiliser OAuth2 Playground pour tester l'autorisation OAuth 2.0 et appeler les points de terminaison de l'API Google Health.

Nous espérons que vous apprécierez de créer des applications qui s'intègrent à l'écosystème de l'API Google Health. Pour en savoir plus, explorez les autres points de terminaison de l'API Google Health dans la documentation de référence et découvrez Google OAuth 2.0 pour les applications de serveur Web.