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 extremos. Esta API representa una evolución estratégica de la API de Fitbit Web heredada, que se reconstruyó en una infraestructura moderna para garantizar una experiencia del desarrollador más estable y coherente.

Permisos

Debes actualizar tu solicitud de autorización para usar los permisos de la API de Google Health. Los permisos definen si tu app admite operaciones de lectura o escritura. Sigue las instrucciones de implementación de permisos, que especifican que solo se soliciten los permisos necesarios, que se configure el acceso de escritura solo cuando se envíen datos y que se controle el consentimiento parcial de forma correcta.

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

Asignaciones de permisos

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 permisos de la API de Fitbit Web 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
electrocardiogram .ecg.readonly
heartrate .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 muestra una lista de los tipos de datos de la API de Google Health y cómo se asignan a la API de Fitbit Web.

Para obtener más información sobre cómo se informan los datos para estos tipos, consulta la guía Presencia de datos y ceros verdaderos. Esta guía incluye detalles sobre la inactividad y el filtrado en la muñeca.

Tabla: Asignaciones de tipos de datos de la API de Fitbit Web 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 de actividad Calorías activas quemadas
  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 (principal) Temperatura corporal principal
  core-body-temperature
Resumen de HRV Variabilidad diaria del ritmo cardíaco
  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 del sueño
  daily-sleep-temperature-derivations
Distancia Distancia
  distance
Electrocardiograma (ECG) Electrocardiograma (ECG)
  electrocardiogram
Actividad registrada Ejercicio
  exercise
Pisos Pisos
  floors
Comida Comida
  food
Comida Comida
  food
Unidad de medida de alimentos Unidad de medida de alimentos
  food-measurement-unit
Unidad de medida de alimentos Unidad de medida de alimentos
  food-measurement-unit
Frecuencia cardíaca Frecuencia cardíaca
  heart-rate
HRV intradía Variabilidad del ritmo cardíaco
  heart-rate-variability
Notificaciones de arritmias (IRN) Notificación de arritmias
  irregular-rhythm-notification
Registro de alimentos Registro de nutrición
  nutrition-log
Registro de alimentos Registro de nutrición
  nutrition-log
SpO2 intradía Saturación de oxígeno
  oxygen-saturation
Valor de VO2 máx. cuando el usuario corre VO2 máx. en carreras
  run-vo2-max
Minutos de series temporales de actividad sedentaria Período sedentario
  sedentary-period
Sueño Sueño
  sleep
Pasos Pasos
  steps
Brazadas de natación de series temporales de actividad Datos de largos de natación
  swim-lengths-data
caloriesOut de actividad 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 de extremos: La API de Google Health admite una cantidad limitada de extremos, que pueden usar la mayoría de los tipos de datos compatibles. 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 yo en la sintaxis del extremo. Cuando se usa yo, el ID de usuario se infiere del token de acceso.

Ejemplo: Este es un ejemplo del extremo GET Profile al que se llama 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 API que admiten.

Tipo de extremo de la API de Fitbit Web API de Google Health
GET (Registro | Resumen | Resumen diario) en el que solicitas un solo día de datos Método dailyRollup con windowSize = 1 día
GET (Intradía) en el que 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
CREAR y ACTUALIZAR registros Método patch
BORRAR registros Método batchDelete
OBTENER perfil users.getProfile muestra la información específica del usuario.
users.getSettings muestra 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 ID de usuario users.getIdentity muestra el ID de usuario heredado de Fitbit y de Google
Obtener dispositivos users.pairedDevices muestra la lista de dispositivos vinculados.
Crear suscripciones projects.subscribers.subscriptions.create crea una suscripción de forma manual.
Borrar suscripciones projects.subscribers.subscriptions.delete borra una suscripción.
Obtener lista de suscripciones projects.subscribers.subscriptions.list enumera todas las suscripciones.