Menulis Data Glukosa Darah

Aplikasi Anda dapat mencatat data glukosa darah dengan menulis ke Jenis data com.google.blood_glucose. Dalam jenis data ini, setiap titik data mewakili satu pembacaan glukosa darah. Titik data berisi bidang untuk glukosa darah konsentrasi, hubungan temporal dengan makanan dan tidur, dan sumber spesimen yang diukur. Semua bidang kecuali untuk konsentrasi glukosa darah bersifat opsional.

Membuat sumber data

Android

Untuk menulis titik data glukosa darah, buat DataSource baru dari TYPE_BLOOD_GLUCOSE, seperti yang ditunjukkan dalam contoh berikut:

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

REST

Untuk menulis titik data glukosa darah, buat sumber data baru.

Metode HTTP

POST

URL Permintaan

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

Isi permintaan

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

Respons

Jika sumber data berhasil dibuat, responsnya adalah status 200 OK pada kode sumber. Isi respons berisi representasi JSON dari sumber data, menyertakan properti datasource.dataStreamId yang dapat Anda gunakan sebagai data ID sumber untuk permintaan berikutnya.

Perintah CURL

$ 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

Menambahkan data

Android

Untuk menambahkan data ke sumber yang dibuat di atas, buat titik data untuk data ini , yang dapat disisipkan menggunakan History API:

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

Contoh ini menunjukkan penambahan data glukosa darah menggunakan sumber data yang dibuat di atas.

Metode HTTP

PATCH

URL Permintaan

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

Isi permintaan

Agar lebih jelas, isi JSON yang ditunjukkan di bawah ini dianotasi dengan komentar, untuk menunjukkan penggunaan konstanta bidang kesehatan. Meskipun Fit API saat ini memberikan komentar, sangat disarankan untuk menghapusnya dari kode Anda, karena JSON tidak secara resmi mendukung komentar.

{
  "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
        }
      ]
    }
  ]
}

Respons

Jika data glukosa darah berhasil ditambahkan, responsnya adalah 200 OK kode status. Isi respons berisi representasi JSON dari darah glukosa yang telah ditambahkan.

Perintah CURL

$ 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