Beslenme Verileri Ekle

Veri kaynağı oluşturarak ve com.google.nutrition veri türünü kullanarak Google Fit'e beslenme verileri ekleyebilirsiniz. Her veri noktası, bir öğünde veya atıştırmalıkta tüketilen tüm besin değerlerinin değerini temsil eder. Bu örnekte, muz yiyen bir kişiye beslenme verilerinin nasıl ekleneceği gösterilmektedir.

Veri kaynağı oluşturma

Android

Yeni bir veri kaynağı oluşturmak için DataSource.Builder 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

URL isteyin

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 yanıt durum kodu alırsınız. Yanıt gövdesi, datasource.dataStreamId özelliği dahil olmak üzere veri kaynağının JSON temsilini içerir. Veri eklemek için bu kimliği dataSourceId olarak kullanın.

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, nutritionSource veri kaynağını kullanarak yeni bir veri noktasının nasıl oluşturulacağı ve bir muz için besin değeri verilerinin nasıl ekleneceği gösterilmektedir.

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ğını kullanarak bir beslenme verileri grubunu nasıl ekleyeceğiniz gösterilmektedir. Besin verileri türünün değerleri besin değerleri (harita), yemek türü (4 = 'snack') ve gerçek yiyecek öğesidir (dize).

HTTP yöntemi

PATCH

URL isteyin

  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 200 OK HTTP yanıt durum kodu alırsınız. Yanıt gövdesi, veri kümesinin JSON temsilini içerir.

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