Google Health API, kullanıcının yiyecek alımını ve beslenme bilgilerini izlemek için veri türleri sağlar. Bu türler sayesinde öğünleri kaydedebilir, yemek veritabanındaki yiyeceklere başvurabilir ve besin miktarlarını takip edebilirsiniz.
Desteklenen veri türleri
Veri türüdataType
filter parametresi |
Kayıt türü |
Kullanılabilir işlemler |
Kapsam | Webhook desteği |
Gerçek sıfırlar desteği |
|---|---|---|---|---|---|
Yiyecek
foodfood
|
Yiyecekler | list, get | .nutrition.readonly.nutrition.writeonly |
||
Yiyecek Ölçü Birimi
food-measurement-unitfood_measurement_unit
|
Yiyecekler | list, get | .nutrition.readonly.nutrition.writeonly |
||
Beslenme Günlüğü
nutrition-lognutrition_log
|
Örnek | list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .nutrition.readonly.nutrition.writeonly |
Beslenme Günlüğü
Beslenme günlüğü, kullanıcı tarafından kaydedilen yiyecekleri temsil eder. Besin günlüğü oluşturmanın, yiyecek türüne bağlı olarak iki yolu vardır:
Tanımlanan yiyecek: Mevcut bir Food kaynağına referans vermek için
foodalanını ayarlayın.nutrients,energy,energyFromFat,totalCarbohydrate,totalFatvefoodDisplayNamealanları, referans verilen yemekten otomatik olarak doldurulur. Tercih edilen yöntem budur.Anonim yemek:
foodDisplayNamealanını manuel olarak ayarlayın venutrients,energy,energyFromFat,totalCarbohydratevetotalFatiçin değerler girin. Anonim yiyeceklerden oluşturulan beslenme günlükleri, oluşturulduktan sonra düzenlenemez.
Anonim yiyeceklerle beslenme günlüğü oluşturma
Beslenme günlüğü girişi oluşturmak için POST veri noktaları uç noktasına nutrition-log isteği gönderin.
İstek
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
}
}
}Yanıt
{
"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"
}
}
}Tanımlanmış yiyeceklerle beslenme günlüğü oluşturma
Yemek veritabanından bir yemek öğesini kaydetmek için food alanını bir Yemek kaynağına referans verecek şekilde ayarlayın. API, besin alanlarını otomatik olarak doldurur.
İstek:
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
}
}
}Beslenme günlüklerini silme
Bir veya daha fazla beslenme günlüğü girişini silmek için, kaldırılacak girişlerin kaynak adlarıyla birlikte POST uç noktasına batchDelete isteği gönderin.
İstek:
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"
]
}Beslenme günlüğü alanları
Alanların ve açıklamaların tam listesi için Referans Belgeleri'ne bakın.
EnergyQuantity
Kilokalori (kcal) cinsinden ölçülen bir enerji ölçümünü ifade eder. Ayrıntılar için EnergyQuantity başlıklı makaleyi inceleyin.
{
"kcal": 165
}
WeightQuantity
Gram cinsinden ölçülen bir ağırlık ölçümünü gösterir. Ayrıntılar için WeightQuantity başlıklı makaleyi inceleyin.
{
"grams": 27.3
}
NutrientQuantity
Belirli bir besini ve ölçülen miktarını gösterir. Ayrıntılar için NutrientQuantity başlıklı makaleyi inceleyin.
{
"nutrient": "PROTEIN",
"quantity": {
"grams": 31
}
}
Besin değerleri
Desteklenen besin türlerinin tam listesi için Besin başlıklı makaleyi inceleyin.
Sunma
Besin günlüğü girişinin porsiyon bilgilerini gösterir. Ayrıntılar için Yayın başlıklı makaleyi inceleyin.
{
"amount": 1.5
}
MealType değerleri
Desteklenen yemek türlerinin tam listesi için MealType başlıklı makaleye bakın.
Yiyecekler
Yiyecek, yiyecek veri tabanındaki bir yiyecek öğesini temsil eden salt okunur bir veri türüdür.
Mevcut yiyeceklere göz atmak ve besin değerleri bilgilerini almak için list ve get işlemlerini kullanın.
Yiyecekleri listeleme
Yiyecekleri listelemek için food veri noktaları uç noktasına bir GET isteği gönderin:
GET https://health.googleapis.com/v4/users/me/dataTypes/food/dataPoints Authorization: Bearer access-token Accept: application/json
Yemek Ölçü Birimi
Yemek ölçü birimi, yemek porsiyonları için kullanılan ölçü birimlerini (örneğin, "bardak", "yemek kaşığı" veya "parça") temsil eden salt okunur bir veri türüdür.
Kullanılabilir ölçü birimlerini listeleme
Kullanılabilir ölçü birimlerini listelemek için:
GET https://health.googleapis.com/v4/users/me/dataTypes/food-measurement-unit/dataPoints Authorization: Bearer access-token Accept: application/json
Yönergeler
- Mümkün olduğunda tanımlanmış yiyecekleri kullanın. API, besin alanlarını otomatik olarak doldurur. Bu sayede hatalar azalır ve yemek veritabanıyla tutarlılık sağlanır.
- Anonim gıdalarla oluşturulan beslenme günlükleri, oluşturulduktan sonra güncellenemez. Anonim bir yemek günlüğünü düzeltmeniz gerekiyorsa günlüğü silip yenisini oluşturun.
nutrientsdizisindeki tüm besin miktarları, ölçü birimi olarak gramı kullanır.energyveenergyFromFatalanlarında ölçü birimi olarak kilokalori (kcal) kullanılır.