La API de Google Health proporciona tipos de datos para hacer un seguimiento de la ingesta de alimentos y la información nutricional de un usuario. Estos tipos te permiten registrar comidas, hacer referencia a alimentos de la base de datos de alimentos y hacer un seguimiento de las cantidades de nutrientes.
Tipos de datos admitidos
Tipo de datosdataType
filter parámetro |
Tipo de registro |
Operaciones disponibles |
Alcance | Compatibilidad con webhook |
Compatibilidad con ceros verdaderos |
|---|---|---|---|---|---|
Comida
foodfood
|
Comida | list, get | .nutrition.readonly.nutrition.writeonly |
||
Unidad de medida de alimentos
food-measurement-unitfood_measurement_unit
|
Comida | list, get | .nutrition.readonly.nutrition.writeonly |
||
Registro de nutrición
nutrition-lognutrition_log
|
Muestra | list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .nutrition.readonly.nutrition.writeonly |
Registro de nutrición
Un registro de nutrición representa los alimentos que registró un usuario. Existen dos maneras de crear un registro de nutrición, según el tipo de alimento:
Alimento identificado: Establece el campo
foodpara hacer referencia a un recurso Food existente. Los camposnutrients,energy,energyFromFat,totalCarbohydrate,totalFatyfoodDisplayNamese propagan automáticamente desde el alimento al que se hace referencia. Este es el método preferido.Alimento anónimo: Establece el campo
foodDisplayNamede forma manual y proporciona valores paranutrients,energy,energyFromFat,totalCarbohydrate, ytotalFat. Los registros de nutrición creados a partir de alimentos anónimos no se pueden editar después de la creación.
Crea un registro de nutrición con alimentos anónimos
Para crear una entrada de registro de nutrición, envía una solicitud POST al extremo de puntos de datos nutrition-log.
Solicitud
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
}
}
}Respuesta
{
"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"
}
}
}Crea un registro de nutrición con alimentos identificados
Para registrar un alimento de la base de datos de alimentos, establece el campo food para hacer referencia a un recurso Food. La API propaga los campos nutricionales automáticamente.
Solicitud:
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
}
}
}Borra registros de nutrición
Para borrar una o más entradas de registro de nutrición, envía una solicitud POST al extremo batchDelete con los nombres de recursos de las entradas que deseas quitar.
Solicitud:
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 de NutritionLog
Para obtener una lista completa de los campos y las descripciones, consulta la documentación de referencia.
EnergyQuantity
Representa una medición de energía, medida en kilocalorías (kcal). Para obtener más información, consulta EnergyQuantity.
{
"kcal": 165
}
WeightQuantity
Representa una medición de peso, medida en gramos. Para obtener más información, consulta WeightQuantity.
{
"grams": 27.3
}
NutrientQuantity
Representa un nutriente específico y su cantidad medida. Para obtener más información, consulta NutrientQuantity.
{
"nutrient": "PROTEIN",
"quantity": {
"grams": 31
}
}
Valores de nutrientes
Para obtener una lista completa de los tipos de nutrientes admitidos, consulta Nutrient.
Entrega
Representa la información de la porción para una entrada de registro de nutrición. Para obtener más información, consulta Serving.
{
"amount": 1.5
}
Valores de MealType
Para obtener una lista completa de los tipos de comidas admitidos, consulta MealType.
Comida
Food es un tipo de datos de solo lectura que representa un alimento en la base de datos de alimentos.
Usa las operaciones list y get para explorar los alimentos disponibles y recuperar su información nutricional.
Enumera alimentos
Para enumerar alimentos, envía una solicitud GET al extremo de puntos de datos food:
GET https://health.googleapis.com/v4/users/me/dataTypes/food/dataPoints Authorization: Bearer access-token Accept: application/json
Unidad de medida de alimentos
La unidad de medida de alimentos es un tipo de datos de solo lectura que representa las unidades de medida que se usan para las porciones de alimentos (por ejemplo, "taza", "cucharada" o "pieza").
Enumera las unidades de medida disponibles
Para enumerar las unidades de medida disponibles, haz lo siguiente:
GET https://health.googleapis.com/v4/users/me/dataTypes/food-measurement-unit/dataPoints Authorization: Bearer access-token Accept: application/json
Lineamientos
- Usa alimentos identificados cuando sea posible. La API propaga los campos nutricionales automáticamente, lo que reduce los errores y garantiza la coherencia con la base de datos de alimentos.
- Los registros de nutrición creados a partir de alimentos anónimos no se pueden actualizar después de la creación. Si necesitas corregir un registro de alimentos anónimo, bórralo y crea uno nuevo.
- Todas las cantidades de nutrientes en el array
nutrientsusan gramos como unidad de medida. - Los campos
energyyenergyFromFatusan kilocalorías (kcal) como la unidad de medida.