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ı; kandaki glikoz konsantrasyonu, yemek ve uyku ile zamansal ilişkiler ve ölçülen örneğin kaynağını içerir. Kan şekeri konsantrasyonu dışındaki tüm alanlar isteğe bağlıdır.

  • Kandaki glikoz konsantrasyonu mmol/L cinsinden ölçülür (1 mmol/L, 18 mg/dL'ye eşdeğerdir).
  • Belirtilirse yemekle zamansal ilişki, FIELD_TEMPORAL_RELATION_TO_MEAL özelliğinde listelenen değerlerden birine sahip olmalıdır.
  • Yemek türü, FIELD_MEAL_TYPE öğesinde listelenen değerlerden birine sahip olmalıdır. Yemek türü bilinmiyorsa MEAL_TYPE_UNKNOWN seçeneğini kullanın.
  • Belirtilirse uykuyla zamansal ilişki, FIELD_TEMPORAL_RELATION_TO_SLEEP içinde listelenen değerlerden birine sahip olmalıdır.
  • Belirtilmişse kan şekeri örneği kaynağı, FIELD_BLOOD_GLUCOSE_SPECIMEN_SOURCE'te listelenen değerlerden birine sahip olmalıdır.

Veri kaynağı oluşturma

Android

Bir kan şekeri veri noktası yazmak için aşağıdaki örnekte gösterildiği gibi yeni bir DataSourceTYPE_BLOOD_GLUCOSE oluşturun:

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

REST

Kan şekeri veri 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, bir 200 OK durum kodu olur. Yanıt gövdesi, veri kaynağının JSON gösterimini içerir. Buna, sonraki istekler için veri kaynağı kimliği olarak kullanabileceğiniz bir datasource.dataStreamId özelliği de dahildir.

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ğı için History API kullanılarak eklenebilecek bir veri noktası oluşturun:

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 eklenmesi 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

Anlaşılır olması için, sağlık alanı sabitlerinin kullanımını göstermek üzere aşağıda gösterilen JSON gövdesine yorumlarla not eklenmiştir. Fit API şu anda yorumları bıraksa 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 olarak bir 200 OK durum kodu verilir. Yanıt gövdesi, eklenen kan glikoz verilerinin JSON temsilini içerir.

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