En esta página, se proporcionan vínculos a formas convenientes de acceder a la API de Google Health.
Bibliotecas cliente de la API de Google Health
La API de Google Health está creada en HTTP o JSON, por lo que cualquier cliente HTTP estándar puede enviar solicitudes a ella y analizar las respuestas.
Sin embargo, en lugar de crear solicitudes HTTP y analizar las respuestas de forma manual, es posible que desees usar las bibliotecas cliente de las APIs de Google. Las bibliotecas cliente proporcionan una mejor integración del lenguaje, mayor seguridad y compatibilidad para realizar llamadas que requieren la autorización del usuario.
Go
Obtén la biblioteca cliente de la API de Google Health para Go más reciente. Lee la guía para desarrolladores de la biblioteca cliente.
Java
En esta página, se incluye información para comenzar a usar la API de Google Health con la biblioteca cliente de la API de Google para Java. Para obtener más información, consulta la siguiente documentación:
Agrega la biblioteca cliente a tu proyecto
Selecciona tu entorno de compilación (Maven o Gradle) en las siguientes pestañas:
Agrega lo siguiente al archivo pom.xml:
Consulta todas las versiones disponibles del repositorio central de Maven.
Agrega lo siguiente al archivo build.gradle:
Consulta todas las versiones disponibles del repositorio central de Maven.
JavaScript
Lee la guía para desarrolladores de la biblioteca cliente.
.NET
En esta página, se incluye información para comenzar a usar la API de Google Health con la biblioteca cliente de la API de Google para .NET. Para obtener más información, consulta la siguiente documentación:
Descarga la biblioteca
Instala el paquete de NuGet: Google.Apis.
Node.js
Obtén la última biblioteca cliente de la API de Google Health para Node.js. Lee la guía para desarrolladores de la biblioteca cliente.
Obj-C
Obtén la última biblioteca cliente de la API de Google Health para Objective-C. Lee la guía para desarrolladores de la biblioteca cliente.
PHP
Obtén la última biblioteca cliente de la API de Google Health para PHP. Lee la guía para desarrolladores de la biblioteca cliente.
Python
En esta página, se incluye información para comenzar a usar la API de Google Health con la biblioteca cliente de la API de Google para Python (v1/v2). Para obtener más información, consulta la siguiente documentación:
Requisitos del sistema
- Sistemas operativos:
- Linux
- macOS X
- Windows
- La biblioteca cliente de la versión 1 requiere Python 2.7 o versiones posteriores. La biblioteca de cliente v2 requiere 3.7 o una versión posterior.
Instala la biblioteca cliente
Puedes usar un administrador de paquetes o descargar e instalar de forma manual la biblioteca cliente de Python:
Instalación administrada
Usa pip o setuptools para administrar la instalación (es posible que primero debas ejecutar ). Es posible que
debas ejecutar sudo primero.
- pip (opción preferida):
pip install --upgrade google-api-python-client
- setuptools:
easy_install --upgrade google-api-python-client
Instalación manual
- Descarga la biblioteca cliente más reciente para Python.
- Descomprime el código.
- Instala:
python setup.py install
App Engine
Como las bibliotecas cliente de Python no están instaladas en el entorno de ejecución de App Engine para Python, debes copiarlas en tu aplicación al igual que las bibliotecas de terceros.
Ruby
En esta página, se incluye información para comenzar a usar la API de Google Health con la biblioteca cliente de la API de Google para Ruby. Para obtener más información, consulta la siguiente documentación:
Instala la gema google-api-client
Según el sistema, es posible que debas anteponer estos comandos con sudo.
Si nunca instalaste la biblioteca cliente de la API de Google para Ruby, instálala con RubyGems:
gem install google-api-client
Si ya instalaste la gema, actualiza a la versión más reciente:
gem update -y google-api-client
Cómo comenzar a usar la biblioteca cliente de la API de Google para Ruby
Para obtener información sobre cómo realizar tu primera solicitud, consulta la Guía de introducción.
gRPC
La API de Google Health también admite gRPC para la recuperación de datos de alto rendimiento. Además de instalar bibliotecas cliente, el uso de gRPC requiere obtener las definiciones de Protocol Buffers de la API y generar código de stub del cliente antes de realizar solicitudes.
- Instala las bibliotecas de gRPC:
- Usa
pip install grpcio grpcio-tools google-auth-oauthlibpara instalar dependencias.
- Usa
- Genera código de cliente:
- Obtén las definiciones
.protode la API de Google Health (por ejemplo,data_points.proto). - Ejecuta
python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. path/to/your/data_points.protopara generar código de stub.
- Obtén las definiciones
- Implementa OAuth 2.0 y realiza solicitudes de gRPC:
- Usa
google-auth-oauthlibpara la autorización y el stub del cliente generado para realizar solicitudes de gRPC, como se muestra en el siguiente ejemplo.
- Usa
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 bibliotecas:
grpc: La biblioteca de gRPC para Python.google.auth.transport.grpc: Para crear canales seguros y autenticados.data_points_pb2,data_points_pb2_grpc: Código de cliente generado a partir de.protoarchivos.
- Configuración:
CLIENT_SECRETS_FILE: Ruta de acceso a tu archivoclient_secret.json.SCOPES: Los permisos necesarios.TOKEN_FILE: Ruta de acceso para almacenar tokens de OAuth.GRPC_ENDPOINT: El nombre de host del servicio de gRPC de Google Health.
get_credentials():- Carga secretos de cliente desde el archivo, usa
InstalledAppFlowdegoogle-auth-oauthlibpara administrar la autorización, intenta cargar las credenciales almacenadas o inicia el flujo de OAuth 2.0 si es necesario.
- Carga secretos de cliente desde el archivo, usa
fetch_health_data_grpc():- Crea un canal de gRPC seguro y autenticado con las credenciales del usuario.
- Inicializa un
DataPointsServiceStubcon el canal. - Crea un
ListDataPointsRequestpara solicitar datos de pasos parausers/me. - Llama al método RPC
ListDataPointsy muestra la respuesta.
- Manejo de errores: El código incluye bloques
try...exceptbásicos para controlar gRPC y otros errores.