A API Google Health fornece tipos de dados para rastrear a ingestão de alimentos e as informações nutricionais de um usuário. Esses tipos permitem registrar refeições, consultar alimentos no banco de dados e rastrear quantidades de nutrientes.
Tipos de dados compatíveis
Tipo de dadosdataType
filter parâmetro |
Tipo de registro |
Operações disponíveis |
Escopo | Suporte a webhook |
Suporte a zeros verdadeiros |
|---|---|---|---|---|---|
Comida
foodfood
|
Comida | list, get | .nutrition.readonly.nutrition.writeonly |
||
Unidade de medida de alimentos
food-measurement-unitfood_measurement_unit
|
Comida | list, get | .nutrition.readonly.nutrition.writeonly |
||
Registro de nutrição
nutrition-lognutrition_log
|
Exemplo | list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .nutrition.readonly.nutrition.writeonly |
Registro de nutrição
Um registro de nutrição representa alimentos registrados por um usuário. Há duas maneiras de criar um registro de nutrição, dependendo do tipo de alimento:
Alimento identificado: defina o campo
foodpara referenciar um recurso Alimento existente. Os camposnutrients,energy,energyFromFat,totalCarbohydrate,totalFatefoodDisplayNamesão preenchidos automaticamente com base no alimento referenciado. Esse é o método preferencial.Alimento anônimo: defina o campo
foodDisplayNamemanualmente e forneça valores paranutrients,energy,energyFromFat,totalCarbohydrate, etotalFat. Os registros de nutrição criados com alimentos anônimos não podem ser editados após a criação.
Criar um registro de nutrição com alimentos anônimos
Para criar uma entrada de registro de nutrição, envie uma solicitação POST para o endpoint de pontos de dados nutrition-log.
Solicitação
POST https://health.googleapis.com/v4/users/me/dataTypes/nutrition-log/dataPoints
Authorization: Bearer access-token
Content-Type: application/json
{
"nutritionLog": {
"interval": {
"startTime": "2026-06-16T18:00:00Z",
"endTime": "2026-06-16T18:30:00Z"
},
"foodDisplayName": "Grilled Chicken Breast",
"mealType": "DINNER",
"energy": {
"kcal": 165
},
"totalCarbohydrate": {
"grams": 0
},
"totalFat": {
"grams": 3.6
},
"nutrients": [
{
"nutrient": "PROTEIN",
"quantity": {
"grams": 31
}
},
{
"nutrient": "SODIUM",
"quantity": {
"grams": 0.074
}
}
],
"serving": {
"amount": 1.0
}
}
}Resposta
{
"done": true,
"response": {
"@type": "type.googleapis.com/google.devicesandservices.health.v4.DataPoint",
"name": "users/user-id/dataTypes/nutrition-log/dataPoints/data-point-id",
"dataSource": {
"recordingMethod": "UNKNOWN",
"application": {
"googleWebClientId": "google-web-client-id"
},
"platform": "GOOGLE_WEB_API"
},
"nutritionLog": {
"interval": {
"startTime": "2026-06-16T18:00:00Z",
"startUtcOffset": "0s",
"endTime": "2026-06-16T18:30:00Z",
"endUtcOffset": "0s",
"civilStartTime": {
"date": {
"year": 2026,
"month": 6,
"day": 16
},
"time": {
"hours": 18
}
},
"civilEndTime": {
"date": {
"year": 2026,
"month": 6,
"day": 16
},
"time": {
"hours": 18,
"minutes": 30
}
}
},
"energy": {
"kcal": 165
},
"totalCarbohydrate": {
"grams": 0
},
"totalFat": {
"grams": 3.6
},
"nutrients": [
{
"quantity": {
"grams": 31
},
"nutrient": "PROTEIN"
},
{
"quantity": {
"grams": 0.074
},
"nutrient": "SODIUM"
}
],
"mealType": "DINNER",
"serving": {
"amount": 1
},
"foodDisplayName": "Grilled Chicken Breast"
}
}
}Criar um registro de nutrição com alimentos identificados
Para registrar um item alimentar do banco de dados de alimentos, defina o campo food para referenciar um recurso de alimento. A API preenche os campos nutricionais automaticamente.
Solicitação:
POST https://health.googleapis.com/v4/users/me/dataTypes/nutrition-log/dataPoints
Authorization: Bearer access-token
Content-Type: application/json
{
"nutritionLog": {
"interval": {
"startTime": "2026-06-16T12:00:00Z",
"endTime": "2026-06-16T12:30:00Z"
},
"food": "users/me/dataTypes/food/dataPoints/food-id",
"mealType": "LUNCH",
"serving": {
"amount": 1.0
}
}
}Excluir registros de nutrição
Para excluir uma ou mais entradas de registro de nutrição, envie uma solicitação POST para o endpoint batchDelete com os nomes de recursos das entradas a serem removidas.
Solicitação:
POST https://health.googleapis.com/v4/users/me/dataTypes/nutrition-log/dataPoints:batchDelete
Authorization: Bearer access-token
Content-Type: application/json
{
"names": [
"users/me/dataTypes/nutrition-log/dataPoints/data-point-id"
]
}Campos NutritionLog
Para uma lista completa de campos e descrições, consulte a documentação de referência.
EnergyQuantity
Representa uma medição de energia, medida em quilocalorias (kcal). Para mais detalhes, consulte EnergyQuantity.
{
"kcal": 165
}
WeightQuantity
Representa uma medição de peso, medida em gramas. Para mais detalhes, consulte WeightQuantity.
{
"grams": 27.3
}
NutrientQuantity
Representa um nutriente específico e a quantidade medida dele. Para mais detalhes, consulte NutrientQuantity.
{
"nutrient": "PROTEIN",
"quantity": {
"grams": 31
}
}
Valores de nutrientes
Para uma lista completa de tipos de nutrientes compatíveis, consulte Nutriente.
Porção
Representa as informações de porção de uma entrada de registro de nutrição. Para mais detalhes, consulte Porção.
{
"amount": 1.5
}
Valores de MealType
Para uma lista completa de tipos de refeição compatíveis, consulte MealType.
Comida
Comida é um tipo de dados somente leitura que representa um item alimentar no banco de dados de alimentos.
Use as operações list e get para navegar pelos alimentos disponíveis e recuperar as informações nutricionais deles.
Listar alimentos
Para listar alimentos, envie uma solicitação GET para o endpoint de pontos de dados food:
GET https://health.googleapis.com/v4/users/me/dataTypes/food/dataPoints Authorization: Bearer access-token Accept: application/json
Unidade de medida de alimentos
Unidade de medida de alimentos é um tipo de dados somente leitura que representa unidades de medida usadas para porções de alimentos (por exemplo, "xícara", "colher de sopa" ou "pedaço").
Listar unidades de medida disponíveis
Para listar as unidades de medida disponíveis:
GET https://health.googleapis.com/v4/users/me/dataTypes/food-measurement-unit/dataPoints Authorization: Bearer access-token Accept: application/json
Diretrizes
- Use alimentos identificados sempre que possível. A API preenche os campos nutricionais automaticamente, reduzindo erros e garantindo a consistência com o banco de dados de alimentos.
- Os registros de nutrição criados com alimentos anônimos não podem ser atualizados após a criação. Se você precisar corrigir um registro de alimentos anônimo, exclua-o e crie um novo.
- Todas as quantidades de nutrientes na matriz
nutrientsusam gramas como unidade de medida. - Os campos
energyeenergyFromFatusam quilocalorias (kcal) como a unidade de medida.