ממשק Google Health API מספק סוגי נתונים למעקב אחרי צריכת המזון של משתמשים ומידע תזונתי. הסוגים האלה מאפשרים לכם לתעד ארוחות, לעיין במאגרי מידע של מזונות ולעקוב אחרי כמויות של רכיבים תזונתיים.
סוגי נתונים נתמכים
סוג הנתוניםdataType
הפרמטר filter |
סוג הרשומה |
פעולות זמינות |
היקף | תמיכה ב-Webhook |
תמיכה בערכי אפס אמיתיים |
|---|---|---|---|---|---|
אוכל
foodfood
|
אוכל | list, get | .nutrition.readonly.nutrition.writeonly |
||
יחידת מידה של מזון
food-measurement-unitfood_measurement_unit
|
אוכל | list, get | .nutrition.readonly.nutrition.writeonly |
||
יומן תזונה
nutrition-lognutrition_log
|
דוגמה | list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .nutrition.readonly.nutrition.writeonly |
יומן תזונה
יומן תזונה מייצג מזון שמשתמש תיעד. יש שתי דרכים ליצור יומן תזונה, בהתאם לסוג המזון:
המאכל שזוהה: מגדירים את השדה
foodלהפניה למשאב 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 כך שיפנה למשאב 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"
]
}שדות NutritionLog
רשימה מלאה של השדות והתיאורים שלהם מופיעה במאמרי העזרה.
EnergyQuantity
ערך שמייצג מדידה של אנרגיה, שנמדדת בקילו-קלוריות (kcal). לפרטים נוספים, אפשר לעיין בEnergyQuantity.
{
"kcal": 165
}
WeightQuantity
מייצג מדידת משקל, שנמדדת בגרמים. פרטים נוספים זמינים במאמר בנושא WeightQuantity.
{
"grams": 27.3
}
NutrientQuantity
מייצג רכיב תזונתי ספציפי ואת הכמות שלו שנמדדה. פרטים נוספים זמינים במאמר בנושא NutrientQuantity.
{
"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) כיחידת מידה.