داده های تغذیه را اضافه کنید

می‌توانید با ایجاد یک منبع داده و استفاده از نوع داده com.google.nutrition داده‌های تغذیه را به Google Fit اضافه کنید. هر نقطه داده نشان دهنده ارزش تمام مواد مغذی مصرف شده در یک وعده غذایی یا میان وعده است. این مثال به شما نشان می دهد که چگونه می توانید اطلاعات تغذیه ای را برای فردی که موز خورده است اضافه کنید.

ایجاد منبع داده

اندروید

از DataSource.Builder برای ایجاد یک منبع داده جدید استفاده کنید. به عنوان مثال، nutritionSource .

val nutritionSource = DataSource.Builder()
    .setDataType(DataType.TYPE_NUTRITION)
    // ...
    .build()

استراحت

برای ایجاد یک منبع داده جدید، REST API را فراخوانی کنید. به عنوان مثال، NutritionSource .

روش HTTP

POST

درخواست URL

https://www.googleapis.com/fitness/v1/users/me/dataSources

درخواست بدن

{
  "dataStreamName": "NutritionSource",
  "type": "raw",
  "application": {
    "detailsUrl": "http://example.com",
    "name": "My Example App",
    "version": "1"
  },
  "dataType": {
    "name": "com.google.nutrition",
   }
}

پاسخ

اگر منبع داده شما با موفقیت ایجاد شد، یک کد وضعیت پاسخ HTTP 200 OK دریافت خواهید کرد. بدنه پاسخ حاوی یک نمایش JSON از منبع داده، از جمله ویژگی datasource.dataStreamId است. از این شناسه به عنوان dataSourceId برای افزودن داده استفاده کنید.

دستور CURL

$ curl --header "Authorization: Bearer ya29.yourtokenvalue --request POST \
--header "Content-Type: application/json;encoding=utf-8" --data @nutrition-ds.json \
https://www.googleapis.com/fitness/v1/users/me/dataSources

افزودن اطلاعات تغذیه

اندروید

این مثال به شما نشان می دهد که چگونه با استفاده از منبع داده nutritionSource ، یک نقطه داده جدید ایجاد کنید، و داده های تغذیه را برای موز اضافه کنید.

val nutrients = mapOf(
    Field.NUTRIENT_TOTAL_FAT to 0.4f,
    Field.NUTRIENT_SODIUM to 1f,
    Field.NUTRIENT_SATURATED_FAT to 0.1f,
    Field.NUTRIENT_PROTEIN to 1.3f,
    Field.NUTRIENT_TOTAL_CARBS to 27.0f,
    Field.NUTRIENT_CHOLESTEROL to 0.0f,
    Field.NUTRIENT_CALORIES to 105.0f,
    Field.NUTRIENT_SUGAR to 14.0f,
    Field.NUTRIENT_DIETARY_FIBER to 3.1f,
    Field.NUTRIENT_POTASSIUM to 422f
)
val banana = DataPoint.builder(nutritionSource)
    .setTimestamp(timestamp, TimeUnit.MILLISECONDS)
    .setField(Field.FIELD_FOOD_ITEM, "banana")
    .setField(Field.FIELD_MEAL_TYPE, Field.MEAL_TYPE_SNACK)
    .setField(Field.FIELD_NUTRIENTS, nutrients)
    .build()

استراحت

این مثال به شما نشان می دهد که چگونه مجموعه ای از داده های تغذیه را با استفاده از منبع داده NutritionSource اضافه کنید. مقادیر برای نوع داده های تغذیه عبارتند از: مواد مغذی (نقشه)، نوع وعده غذایی (4 = «میان وعده»)، و ماده غذایی واقعی (یک رشته).

روش HTTP

PATCH

درخواست URL

  https://www.googleapis.com/fitness/v1/users/me/dataSources/datasource.dataStreamId/datasets/1574159699023000000-1574159699023999000
 

درخواست بدن

    {
      "minStartTimeNs": 1574159699023000000,
      "maxEndTimeNs": 1574159699023999000,
      "dataSourceId": "datasource.dataStreamId",
      "point": [
        {
          "startTimeNanos": 1574159699023000000,
          "endTimeNanos": 1574159699023999000,
          "dataTypeName": "com.google.nutrition",
          "value": [
            {
              "mapVal": [
              {
                "key": "fat.total",
                "value": {
                  "fpVal": 0.4
                }
              },
              {
                "key": "sodium",
                "value": {
                  "fpVal": 1.0
                }
              },
              {
                "key": "fat.saturated",
                "value": {
                  "fpVal": 0.1
                }
              },
              {
                "key": "protein",
                "value": {
                  "fpVal": 1.3
                }
              },
              {
                "key": "carbs.total",
                "value": {
                  "fpVal": 27.0
                }
              },
              {
                "key": "cholesterol",
                "value": {
                  "fpVal": 0.0
                }
              },
              {
                "key": "calories",
                "value": {
                  "fpVal": 105.0
                }
              },
              {
                "key": "sugar",
                "value": {
                  "fpVal": 14.0
                }
              },
              {
                "key": "dietary_fiber",
                "value": {
                  "fpVal": 3.1
                }
              },
              {
                "key": "potassium",
                "value": {
                  "fpVal": 422.0
                }
              }
             ]
            },
            {
              "intVal": 4
            },
            {
              "strVal": "banana"
            }
          ]
        }
      ]
    }

پاسخ

اگر نقطه داده شما با موفقیت ایجاد شد، یک کد وضعیت پاسخ HTTP 200 OK دریافت خواهید کرد. بدنه پاسخ حاوی نمایش JSON از مجموعه داده است.

دستور CURL

$ curl --header "Authorization: Bearer ya29.yourtokenvalue --request PATCH \
--header "Content-Type: application/json;encoding=utf-8" --data @nutrition-data.json \
https://www.googleapis.com/fitness/v1/users/me/dataSources/datasource.dataStreamId/datasets/1574159699023000000-1574159699023999000