Blutzuckerdaten schreiben

Deine App kann Daten zum Blutzuckerspiegel aufzeichnen, indem sie in den Datentyp com.google.blood_glucose schreibt. Bei diesem Datentyp steht jeder Datenpunkt für eine einzelne sofortige Blutzuckermessung. Der Datenpunkt enthält Felder für die Blutzuckerkonzentration, die zeitlichen Beziehungen zu Mahlzeiten und Schlaf sowie die Quelle der gemessenen Probe. Alle Felder mit Ausnahme der Blutzuckerkonzentration sind optional.

Datenquelle erstellen

Android

Um einen Blutzucker-Datenpunkt zu schreiben, erstellen Sie einen neuen DataSource mit 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, müssen Sie eine neue Datenquelle erstellen.

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 erstellt wurde, wird der Statuscode 200 OK zurückgegeben. 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

Um der oben erstellten Quelle Daten hinzuzufügen, erstellen Sie für diese Datenquelle einen Datenpunkt, 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 das Hinzufügen von Blutzuckerdaten mithilfe der oben erstellten Datenquelle veranschaulicht.

HTTP-Methode

PATCH

Anfrage-URL

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

Anfragetext

Zur Verdeutlichung ist der unten gezeigte JSON-Text mit Kommentaren versehen, um die Verwendung von Gesundheitsfeldkonstanten zu veranschaulichen. Obwohl die Fit API derzeit Kommentare löscht, wird dringend empfohlen, diese aus Ihrem Code zu entfernen, da JSON offiziell keine Kommentare 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, lautet die Antwort der Statuscode 200 OK. 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