Beslenme verisi türleri

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

Tablo: Google Health API besin verisi 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
  food
  food
Yiyecekler list, get .nutrition.readonly
.nutrition.writeonly
Yiyecek Ölçü Birimi
  food-measurement-unit
  food_measurement_unit
Yiyecekler list, get .nutrition.readonly
.nutrition.writeonly
Beslenme Günlüğü
  nutrition-log
  nutrition_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:

  1. Tanımlanan yiyecek: Mevcut bir Food kaynağına referans vermek için food alanını ayarlayın. nutrients, energy, energyFromFat, totalCarbohydrate, totalFat ve foodDisplayName alanları, referans verilen yemekten otomatik olarak doldurulur. Tercih edilen yöntem budur.

  2. Anonim yemek: foodDisplayName alanını manuel olarak ayarlayın ve nutrients, energy, energyFromFat, totalCarbohydrate ve totalFat iç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.
  • nutrients dizisindeki tüm besin miktarları, ölçü birimi olarak gramı kullanır.
  • energy ve energyFromFat alanlarında ölçü birimi olarak kilokalori (kcal) kullanılır.