כדי להוסיף נתוני תזונה ל-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