Google Health API, kullanıcının beslenme ve sıvı tüketimini takip etmek için veri türleri sağlar. Bu türler; öğünleri kaydetmenize, gıda veritabanındaki yiyeceklere başvurmanıza, besin miktarlarını takip etmenize ve sıvı alımını kaydetmenize olanak tanır.
Desteklenen veri türleri
| Veri türü | Kullanılabilir işlemler |
Kapsam |
|---|---|---|
|
Yiyecek
|
list, get | .nutrition.readonly.nutrition.writeonly |
|
Yiyecek Ölçü Birimi
dataType:
food-measurement-unitfilter parameter: food_measurement_unit
Kayıt türü: Yiyecek
Uyumlu cihazlar
|
list, get | .nutrition.readonly.nutrition.writeonly |
|
Sıvı Alımı Günlüğü
|
list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .nutrition.readonly.nutrition.writeonly |
|
Beslenme Günlüğü
dataType:
nutrition-logfilter parameter: nutrition_log
Kayıt türü: Oturum
Uyumlu cihazlar
|
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. Yiyecek türüne bağlı olarak beslenme günlüğü oluşturmanın iki yolu vardır:
Tanımlanan yiyecek:
foodalanını mevcut bir Yiyecek kaynağına referans verecek şekilde ayarlayın.nutrients,energy,energyFromFat,totalCarbohydrate,totalFatvefoodDisplayNamealanları, referans verilen yiyecekten otomatik olarak doldurulur. Bu, tercih edilen yöntemdir.Anonim yemek:
foodDisplayNamealanını manuel olarak ayarlayın venutrients,energy,energyFromFat,totalCarbohydratevetotalFatiçin değerler sağlayın. 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 nutrition-log
dataPoints uç noktasına bir POST 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ımlanan yiyeceklerle beslenme günlüğü oluşturma
Yiyecek veritabanından bir yiyecek öğesini kaydetmek için food alanını bir Food kaynağına referans verecek şekilde ayarlayın. API, besin değeri 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,
"foodMeasurementUnit": "users/me/dataTypes/food-measurement-unit/dataPoints/food-measurement-unit-id"
}
}
}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-16T12:00:00Z",
"startUtcOffset": "0s",
"endTime": "2026-06-16T12:30:00Z",
"endUtcOffset": "0s",
"civilStartTime": {
"date": {
"year": 2026,
"month": 6,
"day": 16
},
"time": {
"hours": 12
}
},
"civilEndTime": {
"date": {
"year": 2026,
"month": 6,
"day": 16
},
"time": {
"hours": 12,
"minutes": 30
}
}
},
"energy": {
"kcal": 95
},
"energyFromFat": {
"kcal": 3
},
"totalCarbohydrate": {
"grams": 25
},
"totalFat": {
"grams": 0.3
},
"nutrients": [
{
"quantity": {
"grams": 4.4,
"userProvidedUnit": "GRAM"
},
"nutrient": "DIETARY_FIBER"
},
{
"quantity": {
"grams": 19,
"userProvidedUnit": "GRAM"
},
"nutrient": "SUGAR"
},
{
"quantity": {
"grams": 0.5,
"userProvidedUnit": "GRAM"
},
"nutrient": "PROTEIN"
}
],
"mealType": "LUNCH",
"serving": {
"amount": 1,
"foodMeasurementUnit": "users/me/dataTypes/food-measurement-unit/dataPoints/food-measurement-unit-id"
},
"food": "users/user-id/dataTypes/food/dataPoints/food-id",
"foodDisplayName": "Apple"
}
}
}Beslenme günlüklerini silme
Bir veya daha fazla beslenme günlüğü girişini silmek için kaldırılacak girişlerin kaynak adlarını içeren batchDelete yöntemine bir POST 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 NutritionLog sayfasını inceleyin.
Enerji miktarı
Kilokalori (kcal) cinsinden ölçülen bir enerji ölçümünü temsil eder. Ayrıntılar için EnergyQuantity bölümüne bakın.
{
"kcal": 165
}
Ağırlık miktarı
Gram cinsinden ölçülen bir ağırlık ölçümünü temsil eder. Ayrıntılı bilgi için WeightQuantity başlıklı makaleyi inceleyin.
{
"grams": 27.3
}
Besin miktarı
Belirli bir besin maddesini ve ölçülen miktarını temsil eder. Ayrıntılı bilgi için NutrientQuantity başlıklı makaleyi inceleyin.
{
"nutrient": "PROTEIN",
"quantity": {
"grams": 31
}
}
Besin değerleri
Desteklenen besin türlerinin tam listesi için Nutrient sayfasına bakın.
Sunma
Beslenme günlüğü girişinin porsiyon bilgilerini temsil eder. Ayrıntılı bilgi için Serving başlıklı makaleyi inceleyin.
{
"amount": 1.5
}
Yemek türü değerleri
Desteklenen yemek türlerinin tam listesi için MealType sayfasına bakın.
Yiyecekler
Yiyecek, yiyecek veritabanındaki bir yiyecek öğesini temsil eden salt okunur bir veri türüdür.
Mevcut yiyeceklere göz atmak ve besin değerlerini almak için list ve get işlemlerini kullanın.
Yiyecekleri listeleme
Yiyecekleri listelemek için food dataPoints 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
Yiyecek Ölçü Birimi
Yiyecek Ölçü Birimi, yiyecek porsiyonları için kullanılan ölçü birimlerini (ör. "fincan", "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
Sıvı Alımı Günlüğü
Sıvı Tüketimi Günlüğü, kullanıcı tarafından kaydedilen sıvı miktarını temsil eder. Bir gıda veritabanına başvuran ve besin veya enerji alımını ölçen gıdaların aksine, sıvı alımı girişleri belirli bir zaman aralığında tüketilen sıvının hacmini takip eder.
Su tüketimi günlüğü oluşturma
Sıvı tüketimi günlüğü girişi oluşturmak için hydration-log
dataPoints uç noktasına bir POST isteği gönderin. Tüm hacim miktarları, API biçiminde mililitreye dönüştürülür.
İstek
POST https://health.googleapis.com/v4/users/me/dataTypes/hydration-log/dataPoints
Authorization: Bearer access-token
Content-Type: application/json
{
"hydrationLog": {
"interval": {
"startTime": "2026-06-16T14:00:00Z",
"endTime": "2026-06-16T14:00:01Z"
},
"amountConsumed": {
"milliliters": 500,
"userProvidedUnit": "FLUID_OUNCE_US"
}
}
}Yanıt
{
"done": true,
"response": {
"@type": "type.googleapis.com/google.devicesandservices.health.v4.DataPoint",
"name": "users/user-id/dataTypes/hydration-log/dataPoints/data-point-id",
"dataSource": {
"recordingMethod": "UNKNOWN",
"application": {
"googleWebClientId": "google-web-client-id"
},
"platform": "GOOGLE_WEB_API"
},
"hydrationLog": {
"interval": {
"startTime": "2026-06-16T14:00:00Z",
"startUtcOffset": "0s",
"endTime": "2026-06-16T14:00:01Z",
"endUtcOffset": "0s",
"civilStartTime": {
"date": {
"year": 2026,
"month": 6,
"day": 16
},
"time": {
"hours": 14
}
},
"civilEndTime": {
"date": {
"year": 2026,
"month": 6,
"day": 16
},
"time": {
"hours": 14,
"seconds": 1
}
}
},
"amountConsumed": {
"milliliters": 500,
"userProvidedUnit": "FLUID_OUNCE_US"
}
}
}
}Sıvı tüketimi kaydını güncelleme
Sıvı tüketimi günlüğü girişini güncellemek için veri noktasının kimliğini içeren bir PATCH isteğini hydration-log
dataPoints uç noktasına gönderin.
İstek
PATCH https://health.googleapis.com/v4/users/me/dataTypes/hydration-log/dataPoints/data-point-id
Authorization: Bearer access-token
Content-Type: application/json
{
"hydrationLog": {
"interval": {
"startTime": "2026-06-16T10:00:00Z",
"endTime": "2026-06-16T10:00:01Z"
},
"amountConsumed": {
"milliliters": 500
}
}
}Yanıt
{
"done": true,
"response": {
"@type": "type.googleapis.com/google.devicesandservices.health.v4.DataPoint",
"name": "users/user-id/dataTypes/hydration-log/dataPoints/data-point-id",
"dataSource": {
"recordingMethod": "UNKNOWN",
"application": {
"googleWebClientId": "google-web-client-id"
},
"platform": "GOOGLE_WEB_API"
},
"hydrationLog": {
"interval": {
"startTime": "2026-06-16T10:00:00Z",
"startUtcOffset": "0s",
"endTime": "2026-06-16T10:00:01Z",
"endUtcOffset": "0s",
"civilStartTime": {
"date": {
"year": 2026,
"month": 6,
"day": 16
},
"time": {
"hours": 10
}
},
"civilEndTime": {
"date": {
"year": 2026,
"month": 6,
"day": 16
},
"time": {
"hours": 10,
"seconds": 1
}
}
},
"amountConsumed": {
"milliliters": 500
}
}
}
}Sıvı tüketimi günlüklerini silme
Bir veya daha fazla sıvı tüketimi günlüğü girişini silmek için batchDelete yöntemine POST isteği gönderin.
İstek
POST https://health.googleapis.com/v4/users/me/dataTypes/hydration-log/dataPoints:batchDelete
Authorization: Bearer access-token
Content-Type: application/json
{
"names": [
"users/me/dataTypes/hydration-log/dataPoints/data-point-id"
]
}Yanıt
{
"done": true,
"response": {
"@type": "type.googleapis.com/google.devicesandservices.health.v4.BatchDeleteDataPointsResponse",
"dataPoints": [
{
"name": "users/user-id/dataTypes/hydration-log/dataPoints/data-point-id",
"dataSource": {
"recordingMethod": "UNKNOWN",
"application": {
"googleWebClientId": "google-web-client-id"
},
"platform": "GOOGLE_WEB_API"
},
"hydrationLog": {
"interval": {
"startTime": "2026-06-16T14:00:00Z",
"startUtcOffset": "0s",
"endTime": "2026-06-16T14:00:01Z",
"endUtcOffset": "0s",
"civilStartTime": {
"date": {
"year": 2026,
"month": 6,
"day": 16
},
"time": {
"hours": 14
}
},
"civilEndTime": {
"date": {
"year": 2026,
"month": 6,
"day": 16
},
"time": {
"hours": 14,
"seconds": 1
}
}
},
"amountConsumed": {
"milliliters": 500,
"userProvidedUnit": "FLUID_OUNCE_US"
}
}
}
]
}
}Sıvı alımı günlüğü alanları
Alanların ve açıklamaların tam listesi için HydrationLog sayfasını inceleyin.
Hacim miktarı
Milisaniye cinsinden ölçülen bir hacim ölçümünü temsil eder. Ayrıntılı bilgi için VolumeQuantity başlıklı makaleyi inceleyin.
{
"milliliters": 250,
"userProvidedUnit": "MILLILITER"
}
Hacim birimi değerleri
Desteklenen hacim birimlerinin tam listesi için VolumeUnit sayfasına bakın. Yaygın değerler arasında MILLILITER, LITER, CUP_US ve FLUID_OUNCE_US bulunur.
Yönergeler
- Mümkün olduğunda tanımlanmış yiyecekleri kullanın. API, besin değeri alanlarını otomatik olarak doldurarak hataları azaltır ve gıda veritabanıyla tutarlılık sağlar.
- Anonim yiyeceklerden oluşturulan beslenme günlükleri, oluşturulduktan sonra güncellenemez. Anonim bir yemek kaydını düzeltmeniz gerekiyorsa kaydı silip yeni bir kayıt oluşturun.
- Anonim besin değeri günlüklerinin aksine, sıvı tüketimi günlüğü girişleri tamamen değiştirilebilir ve oluşturulduktan sonra
PATCHisteği kullanılarak güncellenebilir. nutrientsdizisindeki tüm besin miktarları, ölçü birimi olarak gramı kullanır.energyveenergyFromFatalanları, ölçü birimi olarak kilokaloriyi (kcal) kullanır.- API, tüm sıvı tüketimi miktarlarını mililitreye dönüştürür ve depolar.
VolumeQuantityiçindeki isteğe bağlıuserProvidedUnitalanı yalnızca istemci tarafında kullanıcıya yönelik görüntüleme için kullanılır. - Doğrudan HTTP
DELETEistekleri, tek tekhydration-logveri noktalarına gönderildiğinde404 Not Founddöndürür. Bu kaynak girişlerini kaldırmak içinbatchDeleteyöntemini kullanın. - Sıvı tüketimi günlüklerinde, sıvının tüketildiği zaman aralığını temsil eden
startTimeveendTimeile kısa bir aralık kullanılır.