पोषण से जुड़ा डेटा जोड़ें

डेटा सोर्स बनाकर और com.google.nutrition डेटा टाइप का इस्तेमाल करके, Google Fit में पोषण से जुड़ा डेटा जोड़ा जा सकता है. हर डेटा पॉइंट, खाने या नाश्ते में इस्तेमाल किए गए सभी पोषक तत्वों का मान बताता है. इस उदाहरण में केले को खा रहे व्यक्ति के लिए पोषण से जुड़े डेटा को जोड़ने का तरीका बताया गया है.

डेटा सोर्स बनाना

Android

नया डेटा सोर्स बनाने के लिए, DataSource.Builder का इस्तेमाल करें. उदाहरण के लिए, nutritionSource.

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

बाकी

नया डेटा सोर्स बनाने के लिए, REST API को कॉल करें. उदाहरण के लिए, NutritionSource.

एचटीटीपी तरीका

POST

अनुरोध का यूआरएल

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

रिस्पॉन्स

अगर आपका डेटा सोर्स बन गया है, तो आपको 200 OK एचटीटीपी रिस्पॉन्स स्टेटस कोड मिलेगा. जवाब के मुख्य भाग में datasource.dataStreamId प्रॉपर्टी के साथ-साथ डेटा सोर्स का JSON दिखाई देता है. डेटा जोड़ने के लिए, इस आईडी का इस्तेमाल 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

पोषण से जुड़ा डेटा जोड़ना

Android

इस उदाहरण में, 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 =#39;स्नेक') और खाने की असल चीज़ (एक स्ट्रिंग) है.

एचटीटीपी तरीका

PATCH

अनुरोध का यूआरएल

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

रिस्पॉन्स

अगर आपका डेटा पॉइंट बन गया है, तो आपको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