You can add nutrition data to Google Fit by creating a data source and using the com.google.nutrition data type. Each data point represents the value of all nutrients consumed in a meal or snack. This example shows you how to add nutrition data for someone who's eaten a banana.
ডেটা উৎস তৈরি করা
অ্যান্ড্রয়েড
নতুন ডেটা সোর্স তৈরি করতে 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",
}
}
প্রতিক্রিয়া
আপনার ডেটা সোর্স সফলভাবে তৈরি হলে, আপনি একটি 200 OK HTTP রেসপন্স স্ট্যাটাস কোড পাবেন। রেসপন্স বডিতে ডেটা সোর্সের একটি 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 = 'snack'), এবং প্রকৃত খাদ্যদ্রব্য (একটি স্ট্রিং)।
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"
}
]
}
]
}প্রতিক্রিয়া
আপনার ডেটা পয়েন্টটি সফলভাবে তৈরি হলে, আপনি একটি 200 OK HTTP রেসপন্স স্ট্যাটাস কোড পাবেন। রেসপন্স বডিতে ডেটা সেটের একটি 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