Google Health API menyediakan jenis data untuk melacak asupan makanan dan informasi nutrisi pengguna. Jenis ini memungkinkan Anda mencatat makanan, merujuk makanan dari database makanan, dan melacak jumlah nutrisi.
Jenis data yang didukung
Jenis datadataType
Parameter filter |
Jenis catatan |
Operasi yang tersedia |
Cakupan | Dukungan webhook |
Dukungan nol sebenarnya |
|---|---|---|---|---|---|
Makanan
foodfood
|
Makanan | list, get | .nutrition.readonly.nutrition.writeonly |
||
Satuan Ukur Makanan
food-measurement-unitfood_measurement_unit
|
Makanan | list, get | .nutrition.readonly.nutrition.writeonly |
||
Log Nutrisi
nutrition-lognutrition_log
|
Contoh | list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .nutrition.readonly.nutrition.writeonly |
Catatan Nutrisi
Log Nutrisi mewakili makanan yang dicatat oleh pengguna. Ada dua cara untuk membuat log nutrisi, bergantung pada jenis makanan:
Makanan yang diidentifikasi: Tetapkan kolom
fooduntuk mereferensikan resource Makanan yang ada. Kolomnutrients,energy,energyFromFat,totalCarbohydrate,totalFat, danfoodDisplayNamediisi secara otomatis dari makanan yang dirujuk. Ini adalah metode yang disarankan.Makanan anonim: Tetapkan kolom
foodDisplayNamesecara manual dan berikan nilai untuknutrients,energy,energyFromFat,totalCarbohydrate, dantotalFat. Log nutrisi yang dibuat dari makanan anonim tidak dapat diedit setelah dibuat.
Membuat log nutrisi dengan makanan anonim
Untuk membuat entri log nutrisi, kirim permintaan POST ke endpoint titik data nutrition-log.
Permintaan
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
}
}
}Respons
{
"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"
}
}
}Membuat log nutrisi dengan makanan yang diidentifikasi
Untuk mencatat item makanan dari database makanan, tetapkan kolom food untuk mereferensikan
resource Makanan. API akan mengisi kolom nutrisi secara otomatis.
Permintaan:
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
}
}
}Menghapus catatan gizi
Untuk menghapus satu atau beberapa entri log nutrisi, kirim permintaan POST ke endpoint
batchDelete dengan nama resource entri yang akan dihapus.
Permintaan:
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"
]
}Kolom NutritionLog
Untuk mengetahui daftar lengkap kolom dan deskripsi, lihat Dokumentasi Referensi.
EnergyQuantity
Mewakili pengukuran energi, yang diukur dalam kilokalori (kcal). Untuk mengetahui detailnya, lihat EnergyQuantity.
{
"kcal": 165
}
WeightQuantity
Mewakili pengukuran berat, diukur dalam gram. Untuk mengetahui detailnya, lihat WeightQuantity.
{
"grams": 27.3
}
NutrientQuantity
Mewakili nutrisi tertentu dan jumlah yang diukur. Untuk mengetahui detailnya, lihat NutrientQuantity.
{
"nutrient": "PROTEIN",
"quantity": {
"grams": 31
}
}
Nilai nutrisi
Untuk mengetahui daftar lengkap jenis nutrisi yang didukung, lihat Nutrisi.
Tayang
Menampilkan informasi porsi untuk entri log nutrisi. Untuk mengetahui detailnya, lihat Penayangan.
{
"amount": 1.5
}
Nilai MealType
Untuk mengetahui daftar lengkap jenis makanan yang didukung, lihat MealType.
Makanan
Makanan adalah jenis data hanya baca yang merepresentasikan item makanan dalam database makanan.
Gunakan operasi list dan get untuk menjelajahi makanan yang tersedia dan mengambil informasi nutrisinya.
Mencantumkan makanan
Untuk mencantumkan makanan, kirim permintaan GET ke endpoint titik data food:
GET https://health.googleapis.com/v4/users/me/dataTypes/food/dataPoints Authorization: Bearer access-token Accept: application/json
Satuan Pengukuran Makanan
Unit Pengukuran Makanan adalah jenis data hanya baca yang merepresentasikan unit pengukuran yang digunakan untuk porsi makanan (misalnya, "cangkir", "sendok makan", atau "potong").
Mencantumkan satuan pengukuran yang tersedia
Untuk mencantumkan satuan pengukuran yang tersedia:
GET https://health.googleapis.com/v4/users/me/dataTypes/food-measurement-unit/dataPoints Authorization: Bearer access-token Accept: application/json
Panduan
- Gunakan makanan yang teridentifikasi jika memungkinkan. API akan mengisi kolom nutrisi secara otomatis, sehingga mengurangi kesalahan dan memastikan konsistensi dengan database makanan.
- Log nutrisi yang dibuat dari makanan anonim tidak dapat diperbarui setelah dibuat. Jika Anda perlu mengoreksi catatan makanan anonim, hapus catatan tersebut dan buat yang baru.
- Semua jumlah nutrisi dalam array
nutrientsmenggunakan gram sebagai satuan pengukuran. - Kolom
energydanenergyFromFatmenggunakan kilokalori (kcal) sebagai satuan pengukuran.