Especificações da API

A seção "Especificação da API" oferece uma visão geral detalhada dos componentes técnicos essenciais para a integração com a plataforma, incluindo escopos de autorização, definições de tipo de dados e estruturas de endpoint. Essa API representa uma evolução estratégica da API Fitbit Web legada, reconstruída em uma infraestrutura moderna para garantir uma experiência de desenvolvedor mais estável e consistente.

Escopos

Você precisa atualizar sua solicitação de autorização para usar os escopos da API Google Health. Os escopos definem se o app oferece suporte a operações de leitura ou gravação. Não use escopos que não são necessários para seu app. Você sempre pode adicionar mais escopos depois, se o design do app mudar.

Os escopos da API Google Health são um URL HTTP que começa com https://www.googleapis.com/auth/googlehealth.{scope}. Por exemplo, https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly.

Mapeamentos de escopo

Confira como os escopos da API Fitbit Web são mapeados para os escopos da API Google Health:

Tabela: mapeamentos de escopo da API Fitbit Web para a API Google Health
Escopos da API Fitbit Web Escopos da API Google Health
atividade .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
eletrocardiograma .ecg.readonly
frequência cardíaca .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
irregular_rhythm_notifications .irn.readonly
local .location.readonly
nutrição .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
configurações .settings.readonly
.settings.writeonly
sono .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 dados

Confira uma lista dos tipos de dados da API Google Health e como eles são mapeados para a API Fitbit Web.

Tabela: mapeamentos de tipo de dados da API Fitbit Web para a API Google Health
Tipo de dados da API Fitbit Web Tipo de dados da API Google Health
  dataType
Calorias de atividade Calorias queimadas ativas
  active-energy-burned
Minutos na faixa ativa Minutos na faixa ativa
  active-zone-minutes
Contém mudanças nos níveis de atividade do usuário. Nível de atividade
  activity-level
Elevação Altitude
  altitude
Glicemia Glicose no sangue
  blood-glucose
Gordura corporal Gordura corporal
  body-fat
caloriesOut em cada faixa de frequência cardíaca Calorias na zona de frequência cardíaca
  calories-in-heart-rate-zone
Temperatura (interna) Temperatura corporal central
  core-body-temperature
Resumo da VFC Variabilidade diária da frequência cardíaca
  daily-heart-rate-variability
Resumo de SpO₂ Saturação de oxigênio diária
  daily-oxygen-saturation
Frequência cardíaca em repouso Frequência cardíaca em repouso diária
  daily-resting-heart-rate
Temperatura da pele Derivações diárias da temperatura do sono
  daily-sleep-temperature-derivations
Distância Distância
  distance
Eletrocardiograma (ECG) Eletrocardiograma (ECG)
  electrocardiogram
Atividade gravada Exercício
  exercise
Andares Andares
  floors
Comida Comida
  food
Unidade de medida de alimentos Unidade de medida de alimentos
  food-measurement-unit
Frequência cardíaca Frequência cardíaca
  heart-rate
VFC intradiária Variabilidade da frequência cardíaca
  heart-rate-variability
Notificações de ritmo irregular (NRI) Notificação de ritmo irregular
  irregular-rhythm-notification
Registro de alimentos Registro de alimentação
  nutrition-log
SPO₂ intradiário Saturação de oxigênio
  oxygen-saturation
Valor de VO₂ máximo quando o usuário corre VO₂ máx. da corrida
  run-vo2-max
Série temporal de atividade: minutos sedentários Período sedentário
  sedentary-period
Sono Dormir
  sleep
Etapas Etapas
  steps
Braçadas de natação em série temporal de atividade Dados de extensão de natação
  swim-lengths-data
Atividade caloriesOut Total de calorias
  total-calories
Valor de VO₂ máx. VO₂ máx.
  vo2-max
Peso Peso
  weight

Endpoints

Os endpoints REST adotam uma sintaxe consistente para todos os tipos de dados.

  • Endpoint de serviço: o URL HTTP de base muda para https://health.googleapis.com.
  • Sintaxe de endpoint: a API Google Health é compatível com um número limitado de endpoints, que podem ser usados pela maioria dos tipos de dados aceitos. Isso fornece uma sintaxe consistente para todos os tipos de dados e facilita o uso dos endpoints.
  • Identificador do usuário: o ID do usuário ou "eu" precisa ser especificado na sintaxe do endpoint. Ao usar "me", o ID do usuário é inferido do token de acesso.

Exemplo: confira um exemplo do endpoint GET Profile chamado usando a API Google Health.

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

Mapeamentos de endpoint

Consulte a tabela Tipos de dados da API Google Health para ver uma lista dos tipos de dados disponíveis e os métodos da API que eles oferecem suporte.

Tipo de endpoint da API Fitbit Web API Google Health
GET (Log | Summary | Daily Summary) em que você está solicitando um único dia de dados Método dailyRollup com windowSize = 1 dia
GET (intraday) em que você está solicitando dados granulares Método list
GET (série temporal) por data ou intervalo Método rollUp ou dailyRollUp, incluindo um período
GET (lista de registros) Método list
CRIAR E ATUALIZAR registros Método patch
EXCLUIR registros Método batchDelete
GET Profile users.getProfile retorna as informações específicas do usuário
users.getSettings retorna as unidades e os fusos horários do usuário
ATUALIZAR perfil users.updateProfile modifica as informações específicas do usuário.
users.updateSettings modifica as unidades e os fusos horários do usuário.
Receber o ID do usuário O users.getIdentity retorna o ID de usuário legado do Fitbit e do Google do usuário.
Receber dispositivos users.pairedDevices retorna a lista de dispositivos pareados
Criar assinaturas projects.subscribers.subscriptions.create cria manualmente uma assinatura
Excluir assinaturas projects.subscribers.subscriptions.delete exclui uma assinatura
Receber lista de assinaturas projects.subscribers.subscriptions.list lista todas as assinaturas