Cette page fournit des liens vers des moyens pratiques d'accéder à l'API Google Health.
Bibliothèques clientes de l'API Google Health
L'API Google Health est basée sur HTTP et JSON. Par conséquent, n'importe quel client HTTP standard peut lui envoyer des requêtes et analyser ses réponses.
Toutefois, au lieu de créer des requêtes HTTP et d'analyser les réponses manuellement, vous pouvez utiliser les bibliothèques clientes des API Google. Les bibliothèques clientes permettent d'intégrer plus facilement les langages de programmation, d'améliorer la sécurité et d'accepter les appels nécessitant des privilèges utilisateur.
Go
Obtenez la dernière bibliothèque cliente de l'API Google Health pour Go. Consultez le guide du développeur de la bibliothèque cliente.
Java
Cette page explique comment commencer à utiliser l'API Google Health à l'aide de la bibliothèque cliente des API Google pour Java. Pour en savoir plus, consultez la documentation suivante :
Ajouter la bibliothèque cliente à votre projet
Sélectionnez votre environnement de compilation (Maven ou Gradle) dans les onglets suivants :
Ajoutez le code ci-dessous à votre fichier pom.xml :
Affichez toutes les versions disponibles dans le référentiel central de Maven.
Ajoutez le code ci-dessous à votre fichier build.gradle :
Affichez toutes les versions disponibles dans le référentiel central de Maven.
JavaScript
Consultez le guide du développeur de la bibliothèque cliente.
.NET
Cette page explique comment commencer à utiliser l'API Google Health à l'aide de la bibliothèque cliente des API Google pour .NET. Pour en savoir plus, consultez la documentation suivante :
Télécharger la bibliothèque
Installez le package NuGet : Google.Apis.
Node.js
Procurez-vous la dernière bibliothèque cliente de l'API Google Health pour Node.js. Consultez le guide du développeur de la bibliothèque cliente.
Obj-C
Obtenez la dernière bibliothèque cliente de l'API Google Health pour Objective-C. Consultez le guide du développeur de la bibliothèque cliente.
PHP
Procurez-vous la dernière bibliothèque cliente de l'API Google Health pour PHP. Consultez le guide du développeur de la bibliothèque cliente.
Python
Cette page explique comment commencer à utiliser l'API Google Health à l'aide de la bibliothèque cliente des API Google pour Python (v1/v2). Pour en savoir plus, consultez la documentation suivante :
Configuration système requise
- Systèmes d'exploitation :
- Linux
- macOS X
- Windows
- La bibliothèque cliente v1 nécessite Python 2.7 ou une version ultérieure. La bibliothèque cliente v2 nécessite la version 3.7 ou une version ultérieure.
Installer la bibliothèque cliente
Vous pouvez utiliser un gestionnaire de packages ou télécharger et installer manuellement la bibliothèque cliente Python :
Installation gérée
Utilisez "pip" ou "setuptools" pour gérer votre installation. Vous devrez peut-être d'abord exécuter sudo.
- pip (option à privilégier) :
pip install --upgrade google-api-python-client
- Setuptools :
easy_install --upgrade google-api-python-client
Installation manuelle
- Téléchargez la dernière bibliothèque cliente pour Python.
- Décompressez le code.
- Installation :
python setup.py install
App Engine
Comme les bibliothèques clientes Python ne sont pas installées dans l'environnement d'exécution Python pour App Engine, vous devez les intégrer à l'application, comme les bibliothèques tierces.
Ruby
Cette page explique comment commencer à utiliser l'API Google Health à l'aide de la bibliothèque cliente des API Google pour Ruby. Pour en savoir plus, consultez la documentation suivante :
Installer le gem google-api-client
Selon votre système, vous devrez peut-être ajouter le préfixe sudo à ces commandes.
Si vous n'avez pas encore installé la bibliothèque cliente des API Google pour Ruby, installez-la à l'aide de RubyGems :
gem install google-api-client
Si vous avez déjà installé le gem, mettez-le à jour pour obtenir la dernière version :
gem update -y google-api-client
Premiers pas avec la bibliothèque cliente des API Google pour Ruby
Pour découvrir comment effectuer votre première requête, consultez le guide de démarrage.
gRPC
L'API Google Health est également compatible avec gRPC pour la récupération de données hautes performances. En plus d'installer des bibliothèques clientes, l'utilisation de gRPC nécessite d'obtenir les définitions Protocol Buffers de l'API et de générer du code stub côté client avant d'effectuer des requêtes.
- Installez les bibliothèques gRPC :
- Utilisez
pip install grpcio grpcio-tools google-auth-oauthlibpour installer les dépendances.
- Utilisez
- Générez le code client :
- Obtenez les définitions
.protode l'API Google Health (par exemple,data_points.proto). - Exécutez
python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. path/to/your/data_points.protopour générer le code de stub.
- Obtenez les définitions
- Implémentez OAuth 2.0 et effectuez des requêtes gRPC :
- Utilisez
google-auth-oauthlibpour l'autorisation et le stub client généré pour envoyer des requêtes gRPC, comme indiqué dans l'exemple suivant.
- Utilisez
import google.auth
from google.auth.transport.grpc import secure_authorized_channel
from google.auth.transport.requests import Request
from google.oauth2.credentials import Credentials
from google_auth_oauthlib.flow import InstalledAppFlow
import os
import json
import grpc
# Generated gRPC code from data_points.proto
# These imports depend on the output of grpc_tools
try:
import data_points_pb2
import data_points_pb2_grpc
except ImportError:
print("Please generate gRPC code from data_points.proto")
data_points_pb2 = None
data_points_pb2_grpc = None
# --- REPLACE WITH YOUR VALUES ---
CLIENT_SECRETS_FILE = 'path/to/your/client_secret.json'
SCOPES = ['https://www.googleapis.com/auth/health'] # Add other scopes as needed
TOKEN_FILE = 'token.json'
GRPC_ENDPOINT = 'health.googleapis.com' # Google Health API gRPC endpoint
def get_credentials():
"""Gets or creates OAuth 2.0 credentials."""
creds = None
# The file token.json stores the user's access and refresh tokens, and is
# created automatically when the authorization flow completes for the first
# time.
if os.path.exists(TOKEN_FILE):
with open(TOKEN_FILE, 'r') as token:
creds = Credentials.from_authorized_user_info(json.load(token), SCOPES)
# If there are no (valid) credentials available, let the user log in.
if creds and creds.expired and creds.refresh_token:
try:
creds.refresh(Request())
except Exception as e:
creds = None # Force re-auth if refresh fails
if not creds or not creds.valid:
flow = InstalledAppFlow.from_client_secrets_file(
CLIENT_SECRETS_FILE, SCOPES
)
creds = flow.run_local_server(port=0)
# Save the credentials for the next run
with open(TOKEN_FILE, 'w') as token:
token.write(creds.to_json())
return creds
def fetch_health_data_grpc(creds):
"""Fetches health data using gRPC."""
if not data_points_pb2_grpc:
return
try:
# Create an authenticated gRPC channel
channel = secure_authorized_channel(creds, Request(), f'{GRPC_ENDPOINT}:443')
# Create a stub for the DataPointsService
stub = data_points_pb2_grpc.DataPointsServiceStub(channel)
# Example: list steps data points for the authenticated user 'me'
request = data_points_pb2.ListDataPointsRequest(parent='users/me/dataTypes/steps')
response = stub.ListDataPoints(request)
print('Health data via gRPC:', response)
except grpc.RpcError as e:
print(f'Error fetching data via gRPC: {e.code()} - {e.details()}')
except Exception as e:
print(f'An error occurred during gRPC call: {e}')
if __name__ == '__main__':
try:
creds = get_credentials()
print("Fetching data using gRPC...")
fetch_health_data_grpc(creds)
except Exception as e:
print(f"An error occurred: {e}")
- Importer des bibliothèques :
grpc: bibliothèque Python gRPC.google.auth.transport.grpc: pour créer des canaux sécurisés et authentifiés.data_points_pb2,data_points_pb2_grpc: code client généré à partir des fichiers.proto.
- Configuration :
CLIENT_SECRETS_FILE: chemin d'accès à votre fichierclient_secret.json.SCOPES: autorisations requises.TOKEN_FILE: chemin d'accès pour stocker les jetons OAuth.GRPC_ENDPOINT: nom d'hôte du service gRPC Google Health.
get_credentials():- Charge les secrets client à partir du fichier, utilise
InstalledAppFlowà partir degoogle-auth-oauthlibpour gérer l'autorisation, tente de charger les identifiants stockés ou lance le flux OAuth 2.0 si nécessaire.
- Charge les secrets client à partir du fichier, utilise
fetch_health_data_grpc():- Crée un canal gRPC authentifié et sécurisé à l'aide des identifiants de l'utilisateur.
- Initialise un
DataPointsServiceStubavec le canal. - Crée un
ListDataPointsRequestpour demander des données sur les pas pourusers/me. - Appelle la méthode RPC
ListDataPointset affiche la réponse.
- Gestion des erreurs : le code inclut des blocs
try...exceptde base pour gérer les erreurs gRPC et autres.