أنواع بيانات التغذية

توفّر Google Health API أنواع بيانات لتتبُّع كمية الطعام التي يتناولها المستخدم والمعلومات الغذائية. تتيح لك هذه الأنواع تسجيل الوجبات والرجوع إلى الأطعمة من قاعدة بيانات الأطعمة وتتبُّع كميات العناصر الغذائية.

أنواع البيانات المتوافقة

الجدول: أنواع بيانات التغذية في Google Health API
نوع البيانات
  dataType
  filter المَعلمة
نوع
السجلّ

العمليات المتاحة
النطاق إتاحة استخدام ويب هوك
إتاحة استخدام أصفار حقيقية
الطعام
  food
  food
طعام قائمة، الحصول على .nutrition.readonly
.nutrition.writeonly
وحدة قياس الطعام
  food-measurement-unit
  food_measurement_unit
طعام قائمة، الحصول على .nutrition.readonly
.nutrition.writeonly
سجلّ التغذية
  nutrition-log
  nutrition_log
عيّنة list, get, reconcile, rollup, dailyRollup, create, update, batchDelete .nutrition.readonly
.nutrition.writeonly

سجل التغذية

يمثّل "سجلّ التغذية" الطعام الذي سجّله المستخدم. تتوفّر طريقتان لإنشاء سجلّ تغذية، حسب نوع الطعام:

  1. الطعام الذي تم تحديده: اضبط الحقل food للإشارة إلى مرجع مورد طعام حالي. يتم ملء الحقول nutrients وenergy وenergyFromFat وtotalCarbohydrate وtotalFat وfoodDisplayName تلقائيًا من الطعام المشار إليه. وهذه هي الطريقة المفضّلة.

  2. الطعام المجهول: اضبط الحقل foodDisplayName يدويًا وقدِّم قيمًا للحقول nutrients وenergy وenergyFromFat وtotalCarbohydrate وtotalFat. لا يمكن تعديل سجلّات التغذية التي تم إنشاؤها من أطعمة مجهولة الهوية بعد إنشائها.

إنشاء سجلّ تغذية يتضمّن أطعمة مجهولة المصدر

لإنشاء إدخال في سجلّ التغذية، أرسِل طلب 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"
    }
  }
}

إنشاء سجلّ للتغذية يتضمّن الأطعمة المحدّدة

لتسجيل عنصر غذائي من قاعدة بيانات الأطعمة، اضبط الحقل food للإشارة إلى مورد Food. تعبئة حقول المعلومات الغذائية تلقائيًا من خلال واجهة برمجة التطبيقات

الطلب:

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
    }
  }
}

حذف سجلّات التغذية

لحذف إدخال واحد أو أكثر من سجلّ التغذية، أرسِل طلب 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
  }
}

قيم العناصر الغذائية

للحصول على قائمة كاملة بأنواع العناصر الغذائية المتوافقة، راجِع العناصر الغذائية.

يتم العرض

تمثّل هذه السمة معلومات الحصة الغذائية لإدخال في سجلّ التغذية. لمزيد من التفاصيل، يُرجى الاطّلاع على العرض.

{
  "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

الإرشادات

  • استخدِم الأطعمة المحدّدة عندما يكون ذلك ممكنًا. تعبئ واجهة برمجة التطبيقات حقول المعلومات الغذائية تلقائيًا، ما يقلّل من الأخطاء ويضمن الاتساق مع قاعدة بيانات الأطعمة.
  • لا يمكن تعديل سجلّات التغذية التي تم إنشاؤها من أطعمة مجهولة بعد إنشائها. إذا كنت بحاجة إلى تصحيح سجلّ طعام مجهول الهوية، احذفه وأنشئ سجلًّا جديدًا.
  • تستخدم جميع كميات العناصر الغذائية في مصفوفة nutrients الغرامات كوحدة قياس.
  • يستخدم الحقلان energy وenergyFromFat الكيلو سعر حراري (kcal) كوحدة قياس.