Bir veri kaynağı oluşturup şunu kullanarak Google Fit'e besin verileri ekleyebilirsiniz:
com.google.nutrition
veri türünü seçin. Her veri noktası, ilgili öğenin
bir yemekte veya atıştırmalıkta tüketilen tüm besin maddeleri. Bu örnekte,
Besin verileri.
Veri kaynağı oluşturma
Android
Yeni bir veri kaynağı oluşturmak için DataSource.Builder
öğesini kullanın. Örneğin, nutritionSource
.
val nutritionSource = DataSource.Builder()
.setDataType(DataType.TYPE_NUTRITION)
// ...
.build()
REST
Yeni bir veri kaynağı oluşturmak için REST API'yi çağırın. Örneğin, NutritionSource
.
HTTP yöntemi
POST
İstek URL'si
https://www.googleapis.com/fitness/v1/users/me/dataSources
İstek metni
{
"dataStreamName": "NutritionSource",
"type": "raw",
"application": {
"detailsUrl": "http://example.com",
"name": "My Example App",
"version": "1"
},
"dataType": {
"name": "com.google.nutrition",
}
}
Yanıt
Veri kaynağınız başarıyla oluşturulduysa 200 OK
HTTP alırsınız
yanıt durum kodu. Yanıt gövdesi, şunun JSON temsilini içerir:
datasource.dataStreamId
özelliği de dahil olmak üzere veri kaynağı. Bu kimliği kullan
dataSourceId
olarak belirleyin.
CURL komutu
$ 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
Beslenme verileri ekleniyor
Android
Bu örnekte, yeni bir veri noktasının nasıl oluşturulacağı ve besin değerinin nasıl ekleneceği gösterilmektedir
nutritionSource
veri kaynağını kullanarak bir muzla ilgili verileri görebilirsiniz.
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
Bu örnekte,
NutritionSource
veri kaynağı. Beslenme veri türü için değerler:
besin öğeleri (harita), öğün türü (4 = "atıştırmalık") ve asıl gıda maddesi
(bir dize).
HTTP yöntemi
PATCH
İstek URL'si
https://www.googleapis.com/fitness/v1/users/me/dataSources/datasource.dataStreamId/datasets/1574159699023000000-1574159699023999000
İstek metni
{ "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" } ] } ] }
Yanıt
Veri noktanız başarıyla oluşturulduysa bir 200 OK
HTTP alırsınız
yanıt durum kodu. Yanıt gövdesi, şunun JSON temsilini içerir:
veri kümesi olabilir.
CURL komutu
$ 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