میتوانید با ایجاد یک منبع داده و استفاده از نوع داده 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