Kan Şekeri Verilerini Yazma

Uygulamanız, com.google.blood_glucose veri türüne yazarak kan şekeri verilerini kaydedebilir. Bu veri türünde her veri noktası, tek bir anlık kan şekeri ölçümünü temsil eder. Veri noktasında kan şekeri konsantrasyonu, yemek ve uykuyla ilgili zamansal ilişkiler ve ölçülen numunenin kaynağına ait alanlar bulunur. Kan şekeri konsantrasyonu dışındaki tüm alanlar isteğe bağlıdır.

  • Kan şekeri konsantrasyonu mmol/L cinsinden ölçülür (1 mmol/L, 18 mg/dL'ye eşittir).
  • Belirtilmişse öğünle olan zamansal ilişki, FIELD_TEMPORAL_RELATION_TO_MEAL içinde listelenen değerlerden birine sahip olmalıdır.
  • Yemek türü, FIELD_MEAL_TYPE içinde listelenen değerlerden birine sahip olmalıdır. Yemek türü bilinmiyorsa MEAL_TYPE_UNKNOWN değerini kullanın.
  • Belirtilirse uykuyla ilgili zamansal ilişki, FIELD_TEMPORAL_RELATION_TO_SLEEP bölümünde listelenen değerlerden birine sahip olmalıdır.
  • Belirtilirse kan şekeri örneği kaynağı, FIELD_BLOOD_GLUCOSE_SPECIMEN_SOURCE bölümünde listelenen değerlerden birine sahip olmalıdır.

Veri kaynağı oluşturma

Android

Kan şekeri verisi noktası yazmak için aşağıdaki örnekte gösterildiği gibi DataSource TYPE_BLOOD_GLUCOSE oluşturun:

val bloodGlucoseSource = DataSource.Builder()
    .setDataType(TYPE_BLOOD_GLUCOSE)
    // ...
    .build()

REST

Kan şekeri verisi noktası yazmak için yeni bir veri kaynağı oluşturun.

HTTP yöntemi

POST

İstek URL'si

https://www.googleapis.com/fitness/v1/users/me/dataSources

İstek metni

{
  "dataStreamName": "BloodGlucose",
  "type": "raw",
  "application": {
    "detailsUrl": "http://example.com",
    "name": "My Example App",
    "version": "1"
  },
  "dataType": {
    "name": "com.google.blood_glucose"
   }
}

Yanıt

Veri kaynağı başarıyla oluşturulursa yanıt 200 OK durum kodu olur. Yanıt gövdesinde, veri kaynağının JSON gösterimi bulunur. Bu gösterim, sonraki isteklerde veri kaynağı kimliği olarak kullanabileceğiniz bir datasource.dataStreamId özelliğini içerir.

CURL komutu

$ curl --header "Authorization: Bearer ya29.yourtokenvalue --request POST \
  --header "Content-Type: application/json;encoding=utf-8" --data @blood-glucose-ds.json \
  https://www.googleapis.com/fitness/v1/users/me/dataSources

Veri ekleme

Android

Yukarıda oluşturulan kaynağa veri eklemek için bu veri kaynağına yönelik bir veri noktası oluşturun. Bu veri noktası, History API kullanılarak eklenebilir:

val bloodGlucose = DataPoint.builder(bloodGlucoseSource)
    .setTimestamp(timestamp, TimeUnit.MILLISECONDS)
    .setField(FIELD_BLOOD_GLUCOSE_LEVEL, 5.0f) // 90 mg/dL
    .setField(FIELD_TEMPORAL_RELATION_TO_MEAL, FIELD_TEMPORAL_RELATION_TO_MEAL_BEFORE_MEAL)
    .setField(FIELD_MEAL_TYPE, MEAL_TYPE_BREAKFAST)
    .setField(FIELD_TEMPORAL_RELATION_TO_SLEEP, TEMPORAL_RELATION_TO_SLEEP_ON_WAKING)
    .setField(FIELD_BLOOD_GLUCOSE_SPECIMEN_SOURCE, BLOOD_GLUCOSE_SPECIMEN_SOURCE_CAPILLARY_BLOOD)
    .build()

REST

Bu örnekte, yukarıda oluşturulan veri kaynağı kullanılarak kan şekeri verilerinin nasıl ekleneceği gösterilmektedir.

HTTP yöntemi

PATCH

İstek URL'si

https://www.googleapis.com/fitness/v1/users/me/dataSources/datasource.dataStreamId/datasets/1574159699023000000-1574159699023000000

İstek metni

Aşağıda gösterilen JSON gövdesi, sağlık alanı sabitlerinin kullanımını göstermek için yorumlarla açıklanmıştır. Fit API şu anda yorumları bırakacak olsa da JSON, yorumları resmi olarak desteklemediğinden bunları kodunuzdan kaldırmanız önemle tavsiye edilir.

{
  "minStartTimeNs": 1574159699023000000,
  "maxEndTimeNs": 1574159699023000000,
  "dataSourceId": "datasource.dataStreamId",
  "point": [
    {
      "startTimeNanos": 1574159699023000000,
      "endTimeNanos": 1574159699023000000,
      "dataTypeName": "com.google.blood_glucose",
      "value": [
        {
          // Blood glucose level, 90 mg/dL
          "fpVal": 5.0
        },
        {
          // FIELD_TEMPORAL_RELATION_TO_MEAL_BEFORE_MEAL
          "intVal": 3
        },
        {
          // MEAL_TYPE_BREAKFAST
          "intVal": 1
        },
        {
          // TEMPORAL_RELATION_TO_SLEEP_ON_WAKING
          "intVal": 3
        },
        {
          // BLOOD_GLUCOSE_SPECIMEN_SOURCE_CAPILLARY_BLOOD
          "intVal": 2
        }
      ]
    }
  ]
}

Yanıt

Kan şekeri verileri başarıyla eklenirse yanıt 200 OK durum kodu olur. Yanıt gövdesinde, eklenen kan şekeri verilerinin JSON gösterimi bulunur.

CURL komutu

$ curl --header "Authorization: Bearer ya29.yourtokenvalue --request PATCH \
    --header "Content-Type: application/json;encoding=utf-8" --data @blood-glucose-data.json \
    https://www.googleapis.com/fitness/v1/users/me/dataSources/datasource.dataStreamId/datasets/1574159699023000000-1574159699023000000