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