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.
- Die Blutzuckerkonzentration wird in mmol/l gemessen (1 mmol/l entspricht 18 mg/dl).
- Falls angegeben, muss das zeitliche Verhältnis zur Mahlzeit einen der unter
FIELD_TEMPORAL_RELATION_TO_MEAL
aufgeführten Werte haben. - Die Art der Mahlzeit muss einen der in
FIELD_MEAL_TYPE
aufgeführten Werte haben. Wenn die Art der Mahlzeit nicht bekannt ist, verwenden SieMEAL_TYPE_UNKNOWN
. - Wenn angegeben, muss die zeitliche Beziehung zum Ruhemodus einen der in
FIELD_TEMPORAL_RELATION_TO_SLEEP
aufgeführten Werte haben. - Falls angegeben, muss die Quelle der Blutzuckerprobe einen der unter
FIELD_BLOOD_GLUCOSE_SPECIMEN_SOURCE
aufgeführten Werte haben.
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