Die Google Health API bietet Datentypen zum Erfassen der Nahrungsaufnahme und der Nährwertinformationen eines Nutzers. Mit diesen Typen können Sie Mahlzeiten protokollieren, Lebensmittel aus der Lebensmitteldatenbank referenzieren und Nährstoffmengen erfassen.
Unterstützte Datentypen
DatentypdataType
filter Parameter |
Datensatztyp |
Verfügbare Vorgänge |
Umfang | Webhook Unterstützung |
Unterstützung für „Echte Nullen“ |
|---|---|---|---|---|---|
Lebensmittel
foodfood
|
Lebensmittel | list, get | .nutrition.readonly.nutrition.writeonly |
||
Maßeinheit für Lebensmittel
food-measurement-unitfood_measurement_unit
|
Lebensmittel | list, get | .nutrition.readonly.nutrition.writeonly |
||
Ernährungsprotokoll
nutrition-lognutrition_log
|
Beispiel | list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .nutrition.readonly.nutrition.writeonly |
Ernährungsprotokoll
Ein Ernährungsprotokoll stellt von einem Nutzer protokollierte Lebensmittel dar. Je nach Art des Lebensmittels gibt es zwei Möglichkeiten, ein Ernährungsprotokoll zu erstellen:
Identifizierte Lebensmittel: Legen Sie das Feld
foodfest, um auf eine vorhandene Lebensmittel-Ressource zu verweisen. Die Feldernutrients,energy,energyFromFat,totalCarbohydrate,totalFatundfoodDisplayNamewerden automatisch aus den referenzierten Lebensmitteln ausgefüllt. Dies ist die bevorzugte Methode.Anonyme Lebensmittel: Legen Sie das Feld
foodDisplayNamemanuell fest und geben Sie Werte fürnutrients,energy,energyFromFat,totalCarbohydrate, undtotalFatan. Ernährungsprotokolle, die aus anonymen Lebensmitteln erstellt wurden, können nach dem Erstellen nicht mehr bearbeitet werden.
Ernährungsprotokoll mit anonymen Lebensmitteln erstellen
Senden Sie zum Erstellen eines Ernährungsprotokolleintrags eine POST-Anfrage an den Endpunkt für nutrition-log-Datenpunkte.
Anfrage
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
}
}
}Antwort
{
"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"
}
}
}Ernährungsprotokoll mit identifizierten Lebensmitteln erstellen
Wenn Sie ein Lebensmittel aus der Lebensmitteldatenbank protokollieren möchten, legen Sie das Feld food fest, um auf eine Lebensmittelressource zu verweisen. Die API füllt die Felder für Nährwertinformationen automatisch aus.
Anfrage
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
}
}
}Ernährungsprotokolle löschen
Wenn Sie einen oder mehrere Ernährungsprotokolleinträge löschen möchten, senden Sie eine POST-Anfrage an den Endpunkt batchDelete mit den Ressourcennamen der zu entfernenden Einträge.
Anfrage
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"
]
}Felder von Ernährungsprotokollen
Eine vollständige Liste der Felder und Beschreibungen finden Sie in der Referenzdokumentation.
EnergyQuantity
Stellt eine Energiemessung in Kilokalorien (kcal) dar. Weitere Informationen finden Sie unter EnergyQuantity.
{
"kcal": 165
}
WeightQuantity
Stellt eine Gewichtsmessung in Gramm dar. Weitere Informationen finden Sie unter WeightQuantity.
{
"grams": 27.3
}
NutrientQuantity
Stellt einen bestimmten Nährstoff und seine gemessene Menge dar. Weitere Informationen finden Sie unter NutrientQuantity.
{
"nutrient": "PROTEIN",
"quantity": {
"grams": 31
}
}
Nährstoffwerte
Eine vollständige Liste der unterstützten Nährstofftypen finden Sie unter Nutrient.
Serving
Stellt die Portionsinformationen für einen Ernährungsprotokoll-Logeintrag dar. Weitere Informationen finden Sie unter Serving.
{
"amount": 1.5
}
MealType-Werte
Eine vollständige Liste der unterstützten Mahlzeitentypen finden Sie unter MealType.
Lebensmittel
„Lebensmittel“ ist ein schreibgeschützter Datentyp, der ein Lebensmittel in der Lebensmitteldatenbank darstellt.
Mit den Vorgängen list und get können Sie verfügbare Lebensmittel durchsuchen und ihre Nährwertinformationen abrufen.
Lebensmittel auflisten
Senden Sie zum Auflisten von Lebensmitteln eine GET-Anfrage an den Endpunkt für food-Datenpunkte:
GET https://health.googleapis.com/v4/users/me/dataTypes/food/dataPoints Authorization: Bearer access-token Accept: application/json
Maßeinheit für Lebensmittel
„Maßeinheit für Lebensmittel“ ist ein schreibgeschützter Datentyp, der Maßeinheiten für Lebensmittelportionen darstellt (z. B. „Tasse“, „Esslöffel“ oder „Stück“).
Verfügbare Maßeinheiten auflisten
So listen Sie verfügbare Maßeinheiten auf:
GET https://health.googleapis.com/v4/users/me/dataTypes/food-measurement-unit/dataPoints Authorization: Bearer access-token Accept: application/json
Richtlinien
- Verwenden Sie nach Möglichkeit identifizierte Lebensmittel. Die API füllt die Felder für Nährwertinformationen automatisch aus, wodurch Fehler reduziert und die Konsistenz mit der Lebensmitteldatenbank gewährleistet wird.
- Ernährungsprotokolle, die aus anonymen Lebensmitteln erstellt wurden, können nach dem Erstellen nicht mehr aktualisiert werden. Wenn Sie ein Protokoll für anonyme Lebensmittel korrigieren müssen, löschen Sie es und erstellen Sie ein neues.
- Für alle Nährstoffmengen im Array
nutrientswird Gramm als Maßeinheit verwendet. - Für die Felder
energyundenergyFromFatwird Kilokalorie (kcal) als die Maßeinheit verwendet.