رابط برنامهنویسی کاربردی گوگل هلث (Google Health API) انواع دادهای را برای ردیابی میزان مصرف غذا و اطلاعات تغذیهای کاربر ارائه میدهد. این نوع دادهها به شما امکان میدهند وعدههای غذایی را ثبت کنید، غذاها را از پایگاه داده غذا مرجع قرار دهید و مقادیر مواد مغذی را پیگیری کنید.
انواع داده پشتیبانی شده
نوع داده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"
]
}فیلدهای ثبت تغذیه
برای مشاهده لیست کامل فیلدها و توضیحات، به مستندات مرجع مراجعه کنید.
مقدار انرژی
نشاندهندهی واحد اندازهگیری انرژی است که بر حسب کیلوکالری ( kcal ) اندازهگیری میشود. برای جزئیات بیشتر، به بخش «مقدار انرژی» مراجعه کنید.
{
"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) به عنوان واحد اندازهگیری استفاده میکنند.