API Google Health предоставляет типы данных для отслеживания потребления пищи пользователем и информации о пищевой ценности продуктов. Эти типы позволяют регистрировать приемы пищи, ссылаться на продукты из базы данных продуктов питания и отслеживать количество питательных веществ.
Поддерживаемые типы данных
Тип данныхdataTypeпараметр filter | Записывать тип | Доступный операции | Объем | Вебхук поддерживать | Истинные нули поддерживать |
|---|---|---|---|---|---|
Едаfoodfood | Еда | список, получить | .nutrition.readonly.nutrition.writeonly | ||
Измерительный прибор для пищевых продуктовfood-measurement-unitfood_measurement_unit | Еда | список, получить | .nutrition.readonly.nutrition.writeonly | ||
Журнал учета пищевых продуктовnutrition-lognutrition_log | Образец | список, получить, согласовать, свернуть, ежедневный свертывание, создать, обновить, пакетное удаление | .nutrition.readonly.nutrition.writeonly |
Журнал учета пищевых продуктов
Журнал пищевой ценности — это список продуктов, которые пользователь зарегистрировал. Существует два способа создания журнала пищевой ценности, в зависимости от типа продукта:
Идентифицированный продукт : Укажите в поле
foodссылку на существующий ресурс «Продукт питания» . Поляnutrients, «energy,energyFromFat,totalCarbohydrate,totalFatиfoodDisplayNameзаполняются автоматически на основе указанного продукта. Это предпочтительный метод.Анонимные продукты : Задайте поле
foodDisplayNameвручную и укажите значения дляnutrients,energy,energyFromFat,totalCarbohydrateиtotalFat. Журналы пищевой ценности, созданные на основе анонимных продуктов, нельзя редактировать после создания.
Создайте дневник питания с анонимными продуктами.
Для создания записи в журнале питания отправьте POST запрос на конечную точку данных nutrition-log .
Запрос
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
}
}
}Ответ
{
"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"
}
}
}Создайте дневник питания с указанием конкретных продуктов.
Чтобы добавить продукт питания в базу данных продуктов, укажите в поле food ссылку на ресурс «Продукт питания». API автоматически заполняет поля с информацией о пищевой ценности.
Запрос:
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
}
}
}Удалить журналы учета питания
Для удаления одной или нескольких записей журнала питания отправьте POST запрос на конечную точку batchDelete , указав имена ресурсов записей, которые необходимо удалить.
Запрос:
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"
]
}Поля журнала питания
Полный список полей и их описаний см. в справочной документации .
EnergyQuantity
Представляет собой показатель энергетической ценности, измеряемый в килокалориях ( kcal ). Подробнее см. EnergyQuantity .
{
"kcal": 165
}
ВесКоличество
Обозначает величину веса, измеренную в граммах. Подробнее см. WeightQuantity .
{
"grams": 27.3
}
Количество питательных веществ
Обозначает конкретное питательное вещество и его измеренное количество. Подробнее см. в разделе «Количество питательных веществ» .
{
"nutrient": "PROTEIN",
"quantity": {
"grams": 31
}
}
Пищевая ценность
Полный список поддерживаемых типов питательных веществ см. в разделе «Питательные вещества» .
Подача
Представляет собой информацию о порции для записи в журнале учета пищевой ценности. Подробнее см. раздел «Порция» .
{
"amount": 1.5
}
Значения MealType
Полный список поддерживаемых типов блюд см. в разделе MealType .
Еда
Тип данных «Еда» — это тип данных только для чтения, представляющий собой продукт питания в базе данных продуктов питания. Используйте операции list и get данных, чтобы просматривать доступные продукты и получать информацию об их пищевой ценности.
Список продуктов
Чтобы получить список продуктов питания, отправьте GET запрос к конечной точке данных food :
GET https://health.googleapis.com/v4/users/me/dataTypes/food/dataPoints Authorization: Bearer access-token Accept: application/json
Измерительный прибор для пищевых продуктов
Единица измерения пищевых продуктов — это тип данных только для чтения, представляющий единицы измерения, используемые для порций продуктов питания (например, «чашка», «столовая ложка» или «кусок»).
Список доступных единиц измерения
Чтобы отобразить список доступных единиц измерения:
GET https://health.googleapis.com/v4/users/me/dataTypes/food-measurement-unit/dataPoints Authorization: Bearer access-token Accept: application/json
Руководящие принципы
- По возможности используйте идентифицированные продукты. API автоматически заполняет поля с информацией о пищевой ценности, что снижает количество ошибок и обеспечивает согласованность с базой данных продуктов питания.
- Журналы учета питания, созданные на основе анонимных данных о продуктах, нельзя обновить после создания. Если вам нужно исправить анонимный журнал учета питания, удалите его и создайте новый.
- В таблице
nutrientsвсе значения указаны в граммах. - В полях
energyиenergyFromFatв качестве единицы измерения используются килокалории (kcal).