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.
- Die Blutzuckerkonzentration wird in mmol/l gemessen. 1 mmol/l entspricht 18 mg/dl.
- Wenn angegeben, muss die zeitliche Beziehung zu einer Mahlzeit einen der in
FIELD_TEMPORAL_RELATION_TO_MEAL
aufgeführten Werte haben. - Der Mahlzeitentyp muss einen der in
FIELD_MEAL_TYPE
aufgeführten Werte haben. Wenn der Mahlzeitentyp 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. - Wenn angegeben, muss die Quelle für Blutzuckerproben einen der in
FIELD_BLOOD_GLUCOSE_SPECIMEN_SOURCE
aufgeführten Werte haben.
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