Google Health API มีประเภทข้อมูลสำหรับการติดตามปริมาณอาหารที่ผู้ใช้บริโภคและข้อมูลโภชนาการ ประเภทข้อมูลเหล่านี้ช่วยให้คุณบันทึกมื้ออาหาร อ้างอิงอาหารจากฐานข้อมูลอาหาร และติดตามปริมาณสารอาหารได้
ประเภทข้อมูลที่รองรับ
Data typedataType
filter parameter |
Record type |
Available operations |
Scope | Webhook support |
True zeros support |
|---|---|---|---|---|---|
Food
foodfood
|
อาหาร | list, get | .nutrition.readonly.nutrition.writeonly |
||
Food Measurement Unit
food-measurement-unitfood_measurement_unit
|
อาหาร | list, get | .nutrition.readonly.nutrition.writeonly |
||
Nutrition Log
nutrition-lognutrition_log
|
ตัวอย่าง | list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .nutrition.readonly.nutrition.writeonly |
Nutrition Log
Nutrition Log แสดงถึงอาหารที่ผู้ใช้บันทึกไว้ คุณสร้าง Nutrition Log ได้ 2 วิธี โดยขึ้นอยู่กับประเภทอาหาร ดังนี้
อาหารที่ระบุ: ตั้งค่าช่อง
foodเพื่ออ้างอิงทรัพยากร อาหารที่มีอยู่ ระบบจะป้อนข้อมูลในช่องnutrients,energy,energyFromFat,totalCarbohydrate,totalFatและfoodDisplayNameโดยอัตโนมัติจากอาหารที่อ้างอิง ซึ่งเป็นวิธีที่แนะนำอาหารที่ไม่ระบุ: ตั้งค่าช่อง
foodDisplayNameด้วยตนเองและระบุ ค่าสำหรับnutrients,energy,energyFromFat,totalCarbohydrate, และtotalFatNutrition Log ที่สร้างจากอาหารที่ไม่ระบุจะแก้ไขไม่ได้หลังจากสร้าง
สร้าง Nutrition Log ด้วยอาหารที่ไม่ระบุ
หากต้องการสร้างรายการบันทึก Nutrition Log ให้ส่งคำขอ 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"
}
}
}สร้าง Nutrition Log ด้วยอาหารที่ระบุ
หากต้องการบันทึกรายการอาหารจากฐานข้อมูลอาหาร ให้ตั้งค่าช่อง 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
}
}
}ลบ Nutrition Log
หากต้องการลบรายการ Nutrition Log อย่างน้อย 1 รายการ ให้ส่งคำขอ 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
}
}
ค่าสารอาหาร
ดูรายการประเภทสารอาหารทั้งหมดที่รองรับได้ที่ Nutrient
กำลังแสดง
แสดงถึงข้อมูลการเสิร์ฟสำหรับรายการบันทึก Nutrition Log ดูรายละเอียดได้ที่ Serving
{
"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 จะป้อนข้อมูลในช่องโภชนาการโดยอัตโนมัติ ซึ่งจะช่วยลดข้อผิดพลาดและรับประกันความสอดคล้องกับฐานข้อมูลอาหาร
- Nutrition Log ที่สร้างจากอาหารที่ไม่ระบุจะอัปเดตไม่ได้หลังจากสร้าง หากต้องการแก้ไข Nutrition Log ที่สร้างจากอาหารที่ไม่ระบุ ให้ลบ Nutrition Log นั้นแล้วสร้างรายการใหม่
- ปริมาณสารอาหารทั้งหมดในอาร์เรย์
nutrientsใช้กรัมเป็นหน่วยวัด - ช่อง
energyและenergyFromFatใช้กิโลแคลอรี (kcal) เป็น หน่วยวัด