סוגי נתונים תזונתיים

ממשק Google Health API מספק סוגי נתונים למעקב אחרי צריכת המזון של משתמשים ומידע תזונתי. הסוגים האלה מאפשרים לכם לתעד ארוחות, לעיין במאגרי מידע של מזונות ולעקוב אחרי כמויות של רכיבים תזונתיים.

סוגי נתונים נתמכים

טבלה: סוגי נתונים של תזונה ב-Google Health API
סוג הנתונים
  dataType הפרמטר
  filter
סוג
הרשומה
פעולות
זמינות
היקף תמיכה ב-Webhook
תמיכה בערכי אפס אמיתיים
אוכל
  food
  food
אוכל list, get .nutrition.readonly
.nutrition.writeonly
יחידת מידה של מזון
  food-measurement-unit
  food_measurement_unit
אוכל list, get .nutrition.readonly
.nutrition.writeonly
יומן תזונה
  nutrition-log
  nutrition_log
דוגמה list, get, reconcile, rollup, dailyRollup, create, update, batchDelete .nutrition.readonly
.nutrition.writeonly

יומן תזונה

יומן תזונה מייצג מזון שמשתמש תיעד. יש שתי דרכים ליצור יומן תזונה, בהתאם לסוג המזון:

  1. המאכל שזוהה: מגדירים את השדה food להפניה למשאב Food קיים. השדות nutrients,‏ energy,‏ energyFromFat,‏ totalCarbohydrate,‏ totalFat ו-foodDisplayName מתמלאים אוטומטית מהמזון שאליו מתייחסים. זו השיטה המועדפת.

  2. מאכל אנונימי: מגדירים את השדה 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) כיחידת מידה.