Blutzuckerdaten schreiben

Deine App kann Blutzuckerdaten aufzeichnen, indem sie com.google.blood_glucose-Datentyp. Bei diesem Datentyp stellt jeder Datenpunkt einen einzelnen momentanen Blutzuckerwert messen. Der Datenpunkt enthält Felder für die Blutzuckerwerte die Konzentration, die zeitlichen Zusammenhänge mit Mahlzeiten und Schlaf das gemessene Exemplar. Alle Felder mit Ausnahme der Blutzuckerkonzentration sind optional.

Datenquelle erstellen

Android

Wenn du einen Blutzuckerdatenpunkt schreiben möchtest, musst du einen neuen DataSource erstellen von TYPE_BLOOD_GLUCOSE, Dies wird im folgenden Beispiel gezeigt:

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

REST

Erstelle eine neue Datenquelle, um einen Blutzucker-Datenpunkt zu schreiben.

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, hat die Antwort den Status 200 OK Code. Der Antworttext enthält eine JSON-Darstellung der Datenquelle. einschließlich einer datasource.dataStreamId-Eigenschaft, die Sie als Daten Quellen-ID für nachfolgende Anfragen.

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 Daten Quelle, die 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

Dieses Beispiel zeigt, wie Blutzuckerdaten mithilfe der Datenquelle, die oben erstellt wurde.

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-Textkörper mit Kommentaren versehen, um Konstanten im Gesundheitsbereich. Obwohl die Fit API derzeit Kommentare postet, ist es Sie sollten diese aus Ihrem Code entfernen, da JSON keine offiziell Supportkommentare.

{
  "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 200 OK. Statuscode enthalten. Der Antworttext enthält eine JSON-Darstellung des Blutes. Blutzuckerdaten hinzugefügt haben.

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