Kan Şekeri Verileri 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 okumasını temsil eder. Veri noktası, kandaki glikoz konsantrasyonunu sağlamak, öğünler ve uykuyla ilgili geçici 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.

Veri kaynağı oluşturma

Android

Kandaki glikoz veri noktasını yazmak için aşağıdaki örnekte gösterildiği gibi yeni bir TYPE_BLOOD_GLUCOSE DataSource 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

URL isteyin

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övdesi, veri kaynağının JSON temsilini içerir. Buna, sonraki istekler için veri kaynağı kimliği olarak kullanabileceğiniz datasource.dataStreamId özelliği 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 üzere, bu veri kaynağı için bir geçmiş veri kaynağı oluşturmak üzere History API'yi kullanarak ekleyin:

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 eklendiği gösterilmektedir.

HTTP yöntemi

PATCH

URL isteyin

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

İstek metni

Anlaşılır olması için, aşağıda gösterilen JSON gövdesinde, açıklama olarak açıklama alanında sağlık alanı sabitlerinin kullanımını göstermek için ek açıklamalar bulunur. Fit API şu anda yorum 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, bir 200 OK durum kodu olur. Yanıt gövdesi, eklenen kandaki 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