डेटा सोर्स बनाकर और com.google.nutrition डेटा टाइप का इस्तेमाल करके, Google Fit में पोषण से जुड़ा डेटा जोड़ा जा सकता है. हर डेटा पॉइंट, किसी मील या स्नैक में लिए गए सभी पोषक तत्वों की वैल्यू दिखाता है. इस उदाहरण में, केला खाने वाले व्यक्ति के लिए पोषण से जुड़ा डेटा जोड़ने का तरीका बताया गया है.
डेटा सोर्स बनाना
Android
नया डेटा सोर्स बनाने के लिए, DataSource.Builder का इस्तेमाल करें. उदाहरण के लिए, nutritionSource.
val nutritionSource = DataSource.Builder()
.setDataType(DataType.TYPE_NUTRITION)
// ...
.build()
REST
नया डेटा सोर्स बनाने के लिए, 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 एचटीटीपी
जवाब का स्टेटस कोड मिलेगा. जवाब के मुख्य हिस्से में, डेटा सोर्स का 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
पोषण से जुड़ा डेटा जोड़ना
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()
REST
इस उदाहरण में, NutritionSource डेटा सोर्स का इस्तेमाल करके, पोषण से जुड़े डेटा का सेट जोड़ने का तरीका बताया गया है. पोषण से जुड़े डेटा टाइप की वैल्यू ये हैं: पोषक तत्व (मैप), खाने का टाइप (4 = 'नाश्ता'), और खाने की चीज़ (स्ट्रिंग).
एचटीटीपी मेथड
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