Blutzuckerdaten schreiben

Deine App kann Blutzuckerdaten aufzeichnen, indem sie in den Datentyp com.google.blood_glucose schreibt. Bei diesem Datentyp stellt jeder Datenpunkt einen einzelnen Blutzuckerspiegel dar. Der Datenpunkt enthält Felder für die Blutzuckerkonzentration, die zeitlichen Beziehungen zu Mahlzeiten und Schlaf und die Quelle der gemessenen Probe. Alle Felder außer der Blutzuckerkonzentration sind optional.

Datenquelle erstellen

Android

Erstelle einen Blutzucker-Datenpunkt, indem du einen neuen DataSource von TYPE_BLOOD_GLUCOSE erstellst, 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 erfolgreich erstellt wurde, ist die Antwort ein 200 OK-Statuscode. Der Antworttext enthält eine JSON-Darstellung der Datenquelle, einschließlich eines datasource.dataStreamId-Attributs, 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. Sie können ihn über die History API einfügen:

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

Dieses Beispiel zeigt das Hinzufügen von Blutzuckerdaten mithilfe der oben erstellten Datenquelle.

HTTP-Methode

PATCH

Anfrage-URL

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

Anfragetext

Zur besseren Übersichtlichkeit wird der unten gezeigte JSON-Text mit Kommentaren annotiert, um die Verwendung von Konstanten für Zustandsfelder zu zeigen. Obwohl die Fit API derzeit Kommentare entfernt, empfehlen wir dringend, sie aus Ihrem Code zu 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 der Blutzucker erfolgreich hinzugefügt wurde, lautet 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