Android
Aplikacja może uzyskać listę produktów spożywczych zjedzonych w określonym przedziale czasu, tworząc żądanie odczytu danych i wysyłając zapytanie o DataType.TYPE_NUTRITION, jak pokazano w tym przykładzie:
val readRequest = DataReadRequest.Builder()
.read(DataType.TYPE_NUTRITION)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build()
Więcej informacji o danych odczytu znajdziesz w artykule Korzystanie z historii aktywności.
REST
Pobieranie listy zjedzonych produktów spożywczych za pomocą interfejsu REST API to proces składający się z 3 etapów:
- Pobierz listę źródeł danych dostępnych dla
com.google.nutritiontypu danych. Jeśli znasz już szczegóły źródła danych, możesz ich użyć bezpośrednio w następnym kroku. - Uzyskaj listę zjedzonych produktów spożywczych z każdego źródła danych.
- (Jeśli jest więcej niż 1 źródło danych) połącz listy produktów spożywczych w aplikacji klienta.
Pobieranie listy źródeł danych o żywności
Z każdego źródła danych wymagane jest tylko pole datasource.dataStreamId, dlatego można użyć maski pola, jak pokazano tutaj, aby ograniczyć odpowiedź tylko do tej właściwości.
Metoda HTTP
GET
Adres URL żądania
https://www.googleapis.com/fitness/v1/users/me/dataSources?dataTypeName=com.google.nutrition&fields=dataSource(dataStreamId)Odpowiedź
Jeśli operacja się uda, odpowiedź będzie zawierać kod stanu 200 OK. Treść odpowiedzi zawiera listę JSON, której każdy element odpowiada źródłu danych.
Na przykład:
{
"dataSource": [
{
"dataStreamId": "raw:com.google.nutrition:com.example.nutritionSource1:"
},
{
"dataStreamId": "raw:com.google.nutrition:com.example.nutritionSource2:"
}
]
}
Polecenie CURL
$ 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' \
--compressedUzyskiwanie listy zjedzonych produktów ze źródła danych
Użyj kolejno symbolu dataSource.dataStreamId z każdego źródła z kroku 1, aby pobrać listę spożytych produktów.
datasetId to początek i koniec wymaganego okresu w nanosekundach, zgodnie z definicją w zasobie zbioru danych.
Na przykład 1546300800000000000-1546387200000000000 reprezentuje
datasetId dla okresu od 1 stycznia 2019 r. 00:00:00 UTC do 2 stycznia 2019 r. 00:00:00.
Metoda HTTP
GET
Adres URL żądania
https://www.googleapis.com/fitness/v1/users/me/dataSources/dataSource.dataStreamId/datasets/1546300800000000000-1546387200000000000?fields=point%2Fvalue%2FstringVal
Odpowiedź
{
"point": [
{
"value": [
{},
{},
{
"stringVal": "apple"
}
]
},
{
"value": [
{},
{},
{
"stringVal": "banana"
}
]
},
{
"value": [
{},
{},
{
"stringVal": "carrot"
}
]
}
]
}
Polecenie CURL
$ 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