L'accès à l'API Google Health est fourni via Google Cloud. Pour activer l'API et autoriser un compte Google, vous aurez besoin d'un projet Google Cloud.
Que vous soyez déjà un développeur d'API Fitbit ou que vous découvriez l'API Google Health API, vous devez effectuer cette étape pour pouvoir appeler l'API.
Créer un projet et un client OAuth
Utilisez le bouton Activer l'API et obtenir un ID client OAuth 2.0 pour activer l'API Google Health et obtenir un ID client OAuth 2.0 :
- Si vous disposez déjà d'un projet Google Cloud que vous souhaitez utiliser pour l'API Google Health, assurez-vous d'abord d'être connecté au compte administrateur de ce projet. Sélectionnez ensuite le projet existant dans la liste des projets disponibles après avoir cliqué sur le bouton. Sinon, créez un projet.
- Sélectionnez Serveur Web lorsque vous êtes invité à indiquer d'où vous appelez.
- Saisissez https://www.google.com comme valeur pour URI de redirection autorisés. Un URI de redirection est requis pour obtenir un code d'autorisation à l'aide d'OAuth 2.0.
- Une fois la configuration terminée, copiez les valeurs de l'ID client OAuth 2.0 et du code secret du client, puis téléchargez le fichier JSON des identifiants sur votre machine locale.
Si vous souhaitez configurer manuellement votre projet Google Cloud ou vérifier la configuration et récupérer à nouveau vos identifiants :
- Activez l'API Google Health sur la page d'activation des API.
- Obtenez un ID client OAuth 2.0 sur la page des identifiants.
Pour en savoir plus sur la configuration d'OAuth 2.0 à l'aide de la console Google, consultez la page Utiliser le protocole OAuth 2.0 pour l'accès aux API Google.
Ajouter des utilisateurs tests
Par défaut, les clients OAuth nouvellement créés sont dans un état non vérifié avec une limite de 100 utilisateurs à des fins de test et de production. Pour activer l'autorisation pendant cette période, vous devez ajouter manuellement l'adresse e-mail de chaque utilisateur à la liste des utilisateurs tests dans la configuration de votre projet.
Mettez à jour la liste des utilisateurs tests sur la Audience page :
- Sur cette page, vous devriez voir l'état de publication défini sur Test, et le type d'utilisateur défini sur Externe.
- Dans la section "Utilisateurs tests", cliquez sur + Ajouter des utilisateurs. Saisissez l'adresse e-mail de tous les utilisateurs tests qui doivent être autorisés à accorder à votre application l'autorisation d'accéder à leurs données de santé.
- Cliquez sur Enregistrer.
Pour prendre en charge plus de 100 utilisateurs avec l'API Google Health, vous devez effectuer un examen de sécurité par un tiers. Pour en savoir plus, consultez le Centre d'aide sur la validation des applications OAuth.
Ajouter des niveaux d'accès
Vous devez spécifier les niveaux d'accès que votre client est autorisé à appeler sur la page "Accès aux données" :
- Sur cette page, cliquez sur Ajouter ou supprimer des niveaux d'accès.
- Dans la colonne "API", recherchez "API Google Health". Sélectionnez les niveaux d'accès dont vous avez besoin pour votre application.
- Une fois que vous avez sélectionné tous les niveaux d'accès dont vous avez besoin, cliquez sur Mettre à jour pour revenir à la page "Accès aux données".
- Cliquez sur Enregistrer.
Vous avez terminé de configurer votre ID client et devriez maintenant pouvoir effectuer des appels à l'API Google Health.
Mettre à jour les niveaux d'accès
Vous pouvez inviter l'utilisateur à autoriser à nouveau votre application en définissant le paramètre `prompt` sur `consent` dans votre requête d'authentification. Lorsque prompt=consent est inclus, l'écran de consentement s'affiche chaque fois que votre application demande l'autorisation des niveaux d'accès, même si tous les niveaux d'accès ont déjà été accordés à votre projet d'API Google.
Pour ajouter ou modifier des niveaux d'accès à l'aide du paramètre prompt=consent, procédez comme suit :
Identifiez la liste complète des niveaux d'accès dont votre application a besoin. Cela doit inclure les niveaux d'accès existants et tous les nouveaux que vous devez ajouter.
Modifiez le paramètre `scope` dans l'URL d'autorisation pour inclure la liste mise à jour des valeurs de niveau d'accès séparées par des espaces.
Ajoutez
prompt=consentaux paramètres de votre URI d'authentification. Cela force le serveur d'autorisation à demander le consentement de l'utilisateur avant de renvoyer des informations à votre client.L'exemple suivant montre une requête HTTPS GET au point de terminaison d'autorisation OAuth 2.0 de Google demandant plusieurs niveaux d'accès avec
prompt=consentajouté :https://accounts.google.com/o/oauth2/v2/auth?client_id=client-id&redirect_uri=redirect-uri&response_type=code&access_type=offline&scope=https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly%20https://www.googleapis.com/auth/googlehealth.sleep.readonly&prompt=consent
Lorsque l'utilisateur suit le lien mis à jour, une page de consentement s'affiche, listant tous les niveaux d'accès demandés. Une fois que l'utilisateur a cliqué sur "Continuer" ou "Autoriser", vous recevez un nouveau code d'autorisation qui peut être échangé contre des jetons couvrant l'ensemble des niveaux d'accès.
N'incluez
prompt=consentque lorsque cela est nécessaire, par exemple lorsque vous devez obtenir un nouveau jeton d'actualisation ou lorsque les niveaux d'accès demandés ont changé.
Bibliothèques clientes OAuth2
La liste des bibliothèques clientes OAuth2 disponibles utilisées pour l'intégration aux frameworks courants est disponible sur la page Utiliser le protocole OAuth 2.0 pour l'accès aux API Google.
Jetons d'actualisation
Pour maintenir un accès à long terme aux API Google sans nécessiter une réauthentification constante de l'utilisateur, votre application doit utiliser un jeton d'actualisation. Pour obtenir des informations complètes sur l'implétation, y compris les requêtes et paramètres HTTP spécifiques requis, consultez la documentation sur la plate-forme d'identité Google.
Pour échanger un jeton d'actualisation contre un jeton d'accès, effectuez un appel HTTPS POST au point de terminaison de jeton OAuth 2.0 de Google. L'extrait de code suivant montre un exemple de requête et de réponse :
Requête
curl -L -X POST 'https://oauth2.googleapis.com/token' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'client_id=client-id&client_secret=client-secret&refresh_token=refresh-token&grant_type=refresh_token'
Réponse
{
"access_token": "access-token",
"expires_in": 3599,
"scope": "scope-list",
"token_type": "Bearer",
"refresh_token": "refresh-token",
"refresh_token_expires_in": 112154
}Comportement des jetons lors des tests
Tenez compte du comportement des jetons d'actualisation en fonction de l'état de publication de votre projet Google Cloud :
- Mode test : si votre écran de consentement OAuth est configuré avec un état de publication "Test", les jetons d'actualisation émis sont basés sur le temps et expirent au bout de sept jours. Pendant cette période, vous recevrez un seul jeton d'actualisation qui restera valide et utilisable pour obtenir de nouveaux jetons d'accès jusqu'à sa date d'expiration.
- Mode publié : une fois que votre application est passée à l'état "En production", les jetons d'actualisation n'expirent généralement pas, sauf s'ils sont révoqués ou restent inutilisés pendant une période prolongée (généralement six mois).
Pour une expérience utilisateur fluide, assurez-vous de publier votre application avant qu'elle ne soit déplacée dans un environnement de production afin d'éviter l'expiration des jetons au bout de sept jours.