Questa pagina fornisce link a modi pratici per accedere all'API Google Health.
Librerie client dell'API Google Health
L'API Google Health si basa su HTTP e JSON, pertanto qualsiasi client HTTP standard può inviare richieste e analizzare le risposte.
Tuttavia, anziché creare richieste HTTP e analizzare le risposte manualmente, ti consigliamo di utilizzare le librerie client delle API di Google. Le librerie client offrono una migliore integrazione del linguaggio, una maggiore sicurezza e supporto per effettuare chiamate che richiedono l'autorizzazione dell'utente.
Go
Scarica la più recente libreria client dell'API Google Health per Go. Leggi la guida per gli sviluppatori della libreria client.
Java
Questa pagina contiene informazioni relative a come iniziare a utilizzare l'API Google Health mediante la libreria client delle API di Google per Java. Per ulteriori informazioni, leggi la seguenti documentazione:
Aggiungi la libreria client al tuo progetto
Seleziona il tuo ambiente di build (Maven o Gradle) dalle seguenti schede:
Aggiungi quanto segue al tuo file pom.xml:
Vedi tutte le versioni disponibili in Maven Central Repository.
Aggiungi quanto segue al tuo file build.gradle:
Vedi tutte le versioni disponibili in Maven Central Repository.
JavaScript
Leggi la guida per gli sviluppatori della libreria client.
.NET
Questa pagina contiene informazioni relative a come iniziare a utilizzare l'API Google Health mediante la libreria client delle API di Google per .NET. Per scoprire di più, consulta la seguente documentazione:
Scarica la libreria
Installa il pacchetto NuGet: Google.Apis.
Node.js
Scarica la più recente libreria client dell'API Google Health per Node.js. Leggi la guida per gli sviluppatori della libreria client.
Obj-C
Scarica la più recente libreria client dell'API Google Health per Objective-C. Leggi la guida per gli sviluppatori della libreria client.
PHP
Scarica la più recente libreria client dell'API Google Health per PHP. Leggi la guida per gli sviluppatori della libreria client.
Python
Questa pagina contiene informazioni relative a come iniziare a utilizzare l'API Google Health mediante la libreria client delle API di Google per Python (v1/v2). Per ulteriori informazioni, leggi la seguenti documentazione:
Requisiti di sistema
- Sistemi operativi:
- Linux
- macOS X
- Windows
- La libreria client v1 richiede Python 2.7 o versioni successive, mentre la v2 richiede Python 3.7 o versioni successive.
Installare la libreria client
Puoi utilizzare un gestore di pacchetti o scaricare e installare manualmente la libreria client Python:
Installazione gestita
Utilizza pip o setuptools per gestire l'installazione (potrebbe essere necessario eseguire prima sudo):
- pip (preferito):
pip install --upgrade google-api-python-client
- Setuptools:
easy_install --upgrade google-api-python-client
Installazione manuale
- Scarica la libreria client più recente per Python.
- Estrai il codice dal pacchetto.
- Installa:
python setup.py install
App Engine
Poiché le librerie client per Python non sono installate nell'ambiente runtime Python di App Engine, devi copiarle nella tua applicazione proprio come le librerie di terze parti.
Ruby
Questa pagina contiene informazioni relative a come iniziare a utilizzare l'API Google Health mediante la libreria client delle API di Google per Ruby. Per ulteriori informazioni, leggi la seguenti documentazione:
Installa il gem google-api-client
A seconda del sistema, potrebbe essere necessario anteporre sudo a questi comandi.
Se non hai ancora installato la libreria client delle API di Google per Ruby, esegui l'installazione utilizzando RubyGems:
gem install google-api-client
Se hai già installato il gem, esegui l'aggiornamento all'ultima versione:
gem update -y google-api-client
Iniziare a utilizzare la libreria client delle API di Google per Ruby
Per scoprire come effettuare la tua prima richiesta, consulta la Guida introduttiva.
gRPC
L'API Google Health supporta anche gRPC per il recupero di dati ad alte prestazioni. Oltre a installare le librerie client, l'utilizzo di gRPC richiede l'ottenimento delle definizioni di Protocol Buffers dell'API e la generazione di codice stub lato client prima di effettuare le richieste.
- Installa le librerie gRPC:
- Usa
pip install grpcio grpcio-tools google-auth-oauthlibper installare le dipendenze.
- Usa
- Genera codice client:
- Ottieni le definizioni
.protodell'API Google Health (ad esempio,data_points.proto). - Esegui
python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. path/to/your/data_points.protoper generare il codice stub.
- Ottieni le definizioni
- Implementa OAuth 2.0 ed effettua richieste gRPC:
- Utilizza
google-auth-oauthlibper l'autorizzazione e lo stub client generato per effettuare richieste gRPC, come mostrato nell'esempio seguente.
- Utilizza
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}")
- Importa librerie:
grpc: la libreria gRPC Python.google.auth.transport.grpc: per creare canali sicuri e autenticati.data_points_pb2,data_points_pb2_grpc: codice cliente generato dai file.proto.
- Configurazione:
CLIENT_SECRETS_FILE: il percorso del fileclient_secret.json.SCOPES: le autorizzazioni obbligatorie.TOKEN_FILE: percorso in cui archiviare i token OAuth.GRPC_ENDPOINT: il nome host del servizio gRPC di Google Health.
get_credentials():- Carica i client secret dal file, utilizza
InstalledAppFlowdagoogle-auth-oauthlibper gestire l'autorizzazione, tenta di caricare le credenziali memorizzate o avvia il flusso OAuth 2.0, se necessario.
- Carica i client secret dal file, utilizza
fetch_health_data_grpc():- Crea un canale gRPC sicuro e autenticato utilizzando le credenziali dell'utente.
- Inizializza un
DataPointsServiceStubcon il canale. - Crea un
ListDataPointsRequestper richiedere i dati sui passi perusers/me. - Chiama il metodo RPC
ListDataPointse stampa la risposta.
- Gestione degli errori:il codice include blocchi
try...exceptdi base per la gestione di gRPC e di altri errori.