Android
Ihre App kann eine Liste der Lebensmittel abrufen, die innerhalb eines bestimmten Zeitraums gegessen wurden. Dazu erstellt sie eine Anfrage zum Lesen von Daten und fragt DataType.TYPE_NUTRITION
ab, wie im folgenden Beispiel gezeigt:
val readRequest = DataReadRequest.Builder()
.read(DataType.TYPE_NUTRITION)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build()
Weitere Informationen zum Lesen von Daten findest du unter Mit dem Fitnessverlauf arbeiten.
REST
Das Abrufen einer Liste der verzehrten Lebensmittel erfolgt über die REST API in drei Phasen:
- Rufen Sie eine Liste der Datenquellen ab, die für den Datentyp
com.google.nutrition
verfügbar sind. Wenn die Details der Datenquelle bereits bekannt sind, können diese direkt im nächsten Schritt verwendet werden. - Eine Liste der Lebensmittel erstellen, die nacheinander aus jeder Datenquelle gegessen werden
- (Wenn mehrere Datenquellen vorhanden sind) kombinieren Sie die Listen mit Lebensmitteln in der Clientanwendung.
Eine Liste mit Lebensmitteldatenquellen abrufen
Da von jeder Datenquelle nur das datasource.dataStreamId
erforderlich ist, können Sie wie hier gezeigt eine Feldmaske verwenden, um die Antwort auf dieses Attribut zu beschränken.
HTTP-Methode
GET
Anfrage-URL
https://www.googleapis.com/fitness/v1/users/me/dataSources?dataTypeName=com.google.nutrition&fields=dataSource(dataStreamId)
Antwort
Wenn der Vorgang erfolgreich war, wird der Statuscode 200 OK
zurückgegeben. Der Antworttext enthält eine JSON-Liste. Jedes Element in der Liste entspricht einer Datenquelle.
Beispiel:
{
"dataSource": [
{
"dataStreamId": "raw:com.google.nutrition:com.example.nutritionSource1:"
},
{
"dataStreamId": "raw:com.google.nutrition:com.example.nutritionSource2:"
}
]
}
CURL-Befehl
$ curl \ 'https://www.googleapis.com/fitness/v1/users/me/dataSources?dataTypeName=com.google.nutrition&fields=dataSource(dataStreamId)' \ --header 'Authorization: Bearer ya29.yourtokenvalue' \ --header 'Accept: application/json' \ --compressed
Eine Liste der aufgenommenen Lebensmittel aus einer Datenquelle abrufen
Verwenden Sie wiederum die dataSource.dataStreamId
aus jeder der Quellen in Schritt 1, um die Liste(n) der verzehrten Lebensmittel abzurufen.
datasetId
ist der Beginn und das Ende des erforderlichen Zeitraums in Nanosekunden, wie in der Dataset-Ressource definiert.
Beispiel: 1546300800000000000-1546387200000000000
steht für den datasetId
vom 1. Januar 2019 00:00:00 Uhr (UTC) bis zum 2. Januar 2019 00:00:00.
HTTP-Methode
GET
Anfrage-URL
https://www.googleapis.com/fitness/v1/users/me/dataSources/dataSource.dataStreamId/datasets/1546300800000000000-1546387200000000000?fields=point%2Fvalue%2FstringVal
Antwort
{
"point": [
{
"value": [
{},
{},
{
"stringVal": "apple"
}
]
},
{
"value": [
{},
{},
{
"stringVal": "banana"
}
]
},
{
"value": [
{},
{},
{
"stringVal": "carrot"
}
]
}
]
}
CURL-Befehl
$ curl \ 'https://www.googleapis.com/fitness/v1/users/me/dataSources/dataSource.dataStreamId/datasets/157059699023000000-1575159699023999000?fields=point%2Fvalue%2FstringVal' \ --header 'Authorization: Bearer ya29.yourtokenvalue' \ --header 'Accept: application/json' \ --compressed