Bibliothèques clientes

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 :

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

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

  1. Téléchargez la dernière bibliothèque cliente pour Python.
  2. Décompressez le code.
  3. 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.

  1. Installez les bibliothèques gRPC :
    • Utilisez pip install grpcio grpcio-tools google-auth-oauthlib pour installer les dépendances.
  2. Générez le code client :
    • Obtenez les définitions .proto de 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.proto pour générer le code de stub.
  3. Implémentez OAuth 2.0 et effectuez des requêtes gRPC :
    • Utilisez google-auth-oauthlib pour l'autorisation et le stub client généré pour envoyer des requêtes gRPC, comme indiqué dans l'exemple suivant.
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 fichier client_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 de google-auth-oauthlib pour gérer l'autorisation, tente de charger les identifiants stockés ou lance le flux OAuth 2.0 si nécessaire.
  • fetch_health_data_grpc() :
    • Crée un canal gRPC authentifié et sécurisé à l'aide des identifiants de l'utilisateur.
    • Initialise un DataPointsServiceStub avec le canal.
    • Crée un ListDataPointsRequest pour demander des données sur les pas pour users/me.
    • Appelle la méthode RPC ListDataPoints et affiche la réponse.
  • Gestion des erreurs : le code inclut des blocs try...except de base pour gérer les erreurs gRPC et autres.