אפשר להוסיף נתונים תזונתיים ל-Google Fit על ידי יצירת מקור נתונים ושימוש
סוג הנתונים com.google.nutrition
. כל נקודה על הגרף מייצגת את הערך של כל אחת.
מכל החומרים המזינים בארוחה או בחטיף. בדוגמה הזו מוסבר איך להוסיף
נתונים תזונתיים של מישהו שאכל בננה.
יצירת מקור נתונים
כדי ליצור מקור נתונים חדש, צריך להשתמש ב-DataSource.Builder
. לדוגמה, nutritionSource
.
val nutritionSource = DataSource.Builder()
.setDataType(DataType.TYPE_NUTRITION)
// ...
.build()
קוראים ל-API ל-REST כדי ליצור מקור נתונים חדש. לדוגמה, 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: Bearerya29.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: Bearerya29.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