Blutzuckerdaten schreiben

Ihre App kann Daten zum Blutzuckerspiegel aufzeichnen, indem sie in den Datentyp com.google.blood_glucose schreibt. Bei diesem Datentyp steht jeder Datenpunkt für einen einzelnen sofortigen Blutzuckermesswert. Der Datenpunkt enthält Felder für die Blutzuckerkonzentration, zeitliche Beziehungen zu Mahlzeiten und Schlaf sowie die Quelle der gemessenen Probe. Alle Felder mit Ausnahme der Blutzuckerkonzentration sind optional.

Datenquelle erstellen

Android

Wenn Sie einen Blutzucker-Datenpunkt schreiben möchten, erstellen Sie ein neues DataSource von TYPE_BLOOD_GLUCOSE, wie im folgenden Beispiel gezeigt:

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

REST

Wenn Sie einen Blutzucker-Datenpunkt schreiben möchten, erstellen Sie eine neue Datenquelle.

HTTP-Methode

POST

Anfrage-URL

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

Anfragetext

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

Antwort

Wenn die Datenquelle erfolgreich erstellt wurde, enthält die Antwort den Statuscode 200 OK. Der Antworttext enthält eine JSON-Darstellung der Datenquelle, einschließlich des Attributs datasource.dataStreamId, das Sie als Datenquellen-ID für nachfolgende Anfragen verwenden können.

CURL-Befehl

$ 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

Daten hinzufügen

Android

Wenn Sie der oben erstellten Quelle Daten hinzufügen möchten, erstellen Sie einen Datenpunkt für diese Datenquelle, der mit der History API eingefügt werden kann:

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

In diesem Beispiel wird gezeigt, wie du mit der oben erstellten Datenquelle Daten zum Blutzuckerspiegel hinzufügst.

HTTP-Methode

PATCH

Anfrage-URL

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

Anfragetext

Zur besseren Übersicht ist der unten gezeigte JSON-Text mit Kommentaren versehen, um die Verwendung von Konstanten für Gesundheitsfelder zu veranschaulichen. Obwohl die Fit API derzeit Kommentare ignoriert, sollten Sie diese aus Ihrem Code entfernen, da JSON Kommentare offiziell nicht unterstützt.

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

Antwort

Wenn die Blutzuckerdaten erfolgreich hinzugefügt wurden, ist die Antwort ein 200 OK-Statuscode. Der Antworttext enthält eine JSON-Darstellung der hinzugefügten Blutzuckerdaten.

CURL-Befehl

$ 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