Especificaciones de la API

En la sección Especificación de la API, se proporciona una descripción general detallada de los componentes técnicos esenciales para la integración con la plataforma, incluidos los permisos de autorización, las definiciones de tipos de datos y las estructuras de endpoints. Esta API representa una evolución estratégica de la API de Fitbit Web heredada, que se reconstruyó sobre una infraestructura moderna para garantizar una experiencia de desarrollador más estable y coherente.

Permisos

Debes actualizar tu solicitud de autorización para usar los alcances de la API de Google Health. Los alcances definen si tu app admite operaciones de lectura o escritura. No uses permisos que no sean necesarios para tu app. Siempre puedes agregar más permisos más adelante si cambia el diseño de tu app.

Los permisos de la API de Google Health son URLs HTTP que comienzan con https://www.googleapis.com/auth/googlehealth.{scope}. Por ejemplo, https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly.

Asignaciones de alcance

A continuación, se muestra cómo se asignan los permisos de la API de Fitbit Web a los permisos de la API de Google Health:

Tabla: Asignaciones de alcance de la API web de Fitbit a la API de Google Health
Permisos de la API de Fitbit Web Permisos de la API de Google Health
actividad .activity_and_fitness.readonly
.activity_and_fitness.writeonly
blood_glucose .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
cardio_fitness .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Electrocardiograma .ecg.readonly
Frecuencia cardíaca .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
irregular_rhythm_notifications .irn.readonly
ubicación .location.readonly
nutrición .nutrition.readonly
.nutrition.writeonly
oxygen_saturation .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
perfil .profile.readonly
.profile.writeonly
respiratory_rate .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
configuración .settings.readonly
.settings.writeonly
sleep .sleep.readonly
.sleep.writeonly
temperatura .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
peso .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly

Tipos de datos

A continuación, se incluye una lista de los tipos de datos de la API de Google Health y cómo se asignan a la API de Fitbit Web.

Tabla: Asignaciones de tipos de datos de la API web de Fitbit a la API de Google Health
Tipo de datos de la API de Fitbit Web Tipo de datos de la API de Google Health
  dataType
Calorías por actividad Gasto calórico activo
  active-energy-burned
Minutos en zona activa Minutos en Zona activa
  active-zone-minutes
Contiene cambios en los niveles de actividad del usuario Nivel de actividad
  activity-level
Elevación Altitud
  altitude
Glucemia Glucemia
  blood-glucose
Grasa corporal Grasa corporal
  body-fat
caloriesOut en cada zona de frecuencia cardíaca Calorías en la zona de frecuencia cardíaca
  calories-in-heart-rate-zone
Temperatura (central) Temperatura corporal central
  core-body-temperature
Resumen del VFC Variabilidad de la frecuencia cardíaca diaria
  daily-heart-rate-variability
Resumen de SpO2 Saturación de oxígeno diaria
  daily-oxygen-saturation
Frecuencia cardíaca en reposo Frecuencia cardíaca en reposo diaria
  daily-resting-heart-rate
Temperatura cutánea Derivaciones diarias de la temperatura durante el sueño
  daily-sleep-temperature-derivations
Distancia Distancia
  distance
Electrocardiograma (ECG) Electrocardiograma (ECG)
  electrocardiogram
Actividad registrada Ejercicio
  exercise
Pisos Pisos
  floors
Comida Comida
  food
Unidad de medida del alimento Unidad de medida de comida
  food-measurement-unit
Frecuencia cardíaca Frecuencia cardíaca
  heart-rate
VFC intradía Variabilidad de la frecuencia cardíaca
  heart-rate-variability
Notificaciones de arritmias (IRN) Notificación de arritmias
  irregular-rhythm-notification
Registro de alimentos Registro de nutrición
  nutrition-log
SpO2 intradía Saturación de oxígeno
  oxygen-saturation
Valor del VO2 máx. cuando el usuario corre VO2 máx. en carreras
  run-vo2-max
Serie temporal de actividad en minutos sedentarios Período sedentario
  sedentary-period
Sueño Sueño
  sleep
Pasos Pasos
  steps
Series temporales de actividad de brazadas de natación Datos de largos
  swim-lengths-data
Actividad caloriesOut Calorías totales
  total-calories
Valor de VO2 máx. VO2 máx.
  vo2-max
Peso Peso
  weight

Extremos

Los extremos de REST adoptan una sintaxis coherente para todos los tipos de datos.

  • Extremo de servicio: La URL HTTP base cambia a https://health.googleapis.com.
  • Sintaxis del extremo: La API de Google Health admite una cantidad limitada de extremos, que pueden usar la mayoría de los tipos de datos admitidos. Esto proporciona una sintaxis coherente para todos los tipos de datos y facilita el uso de los extremos.
  • Identificador de usuario: Se debe especificar el ID de usuario o el identificador me en la sintaxis del extremo. Cuando se usa, el ID del usuario se infiere del token de acceso.

Ejemplo: A continuación, se muestra un ejemplo del extremo GET Profile llamado con la API de Google Health

GET https://health.googleapis.com/v4/users/me/profile

Asignaciones de extremos

Consulta la tabla de tipos de datos de la API de Google Health para obtener una lista de los tipos de datos disponibles y los métodos de la API que admiten.

Tipo de extremo de la API web de Fitbit API de Google Health
GET (Log | Summary | Daily Summary) cuando solicitas datos de un solo día Método dailyRollup con windowSize = 1 día
GET (intradía) cuando solicitas datos detallados Método list
GET (series temporales) por fecha o intervalo Método rollUp o dailyRollUp que incluye un período
GET (lista de registros) Método list
Registros de CREATE y UPDATE Método patch
Borrar registros Método batchDelete
GET Profile users.getProfile devuelve la información específica del usuario.
users.getSettings devuelve las unidades y las zonas horarias del usuario.
ACTUALIZAR perfil users.updateProfile modifica la información específica del usuario.
users.updateSettings modifica las unidades y las zonas horarias del usuario.
Obtener el ID de usuario users.getIdentity devuelve el ID de usuario heredado de Fitbit y el ID de usuario de Google.
Get Devices users.pairedDevices devuelve la lista de dispositivos vinculados.
Crear suscripciones projects.subscribers.subscriptions.create crea manualmente una suscripción.
Borrar suscripciones projects.subscribers.subscriptions.delete borra una suscripción
Obtener lista de suscripciones projects.subscribers.subscriptions.list enumera todas las suscripciones.