Android
Aplikacja może utworzyć listę produktów spożywczych spożytych w określonym czasie, tworząc żądanie odczytu danych i wysyłając zapytanie do DataType.TYPE_NUTRITION
, jak w tym przykładzie:
val readRequest = DataReadRequest.Builder()
.read(DataType.TYPE_NUTRITION)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build()
Więcej informacji o czytaniu danych znajdziesz w artykule Praca z historią fitness.
REST
Pobieranie listy potraw za pomocą interfejsu API REST składa się z 3 etapów:
- Pobierz listę źródeł danych dostępnych dla typu danych
com.google.nutrition
. Jeśli szczegóły źródła danych są już znane, możesz ich użyć bezpośrednio w następnym kroku. - Utwórz listę jedzenia spożytą z każdego źródła danych.
- (Jeśli jest więcej niż jedno źródło danych), połącz listy produktów spożywczych w aplikacji klienckiej.
Pobieram listę źródeł danych dotyczących jedzenia
Z każdego źródła danych wymagany jest tylko atrybut datasource.dataStreamId
, dlatego tak jak w tym przykładzie możesz użyć maski pola, aby ograniczyć odpowiedź tylko do tej właściwości.
Metoda HTTP
GET
URL prośby
https://www.googleapis.com/fitness/v1/users/me/dataSources?dataTypeName=com.google.nutrition&fields=dataSource(dataStreamId)
Odpowiedź
Jeśli odpowiedź się powiedzie, wyświetli się kod stanu 200 OK
. Treść odpowiedzi zawiera listę JSON – każdy element na liście odpowiadający źródłom danych.
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' \ --compressed
Uzyskiwanie listy jedzenia spożytej ze źródła danych
Z kolei użyj dataSource.dataStreamId
z każdego źródła w kroku 1, aby pobrać listę spożywanych jedzenia.
datasetId
to początek i koniec wymaganego okresu w nanosekundach, zgodnie z definicją w zasobie zbioru danych.
1546300800000000000-1546387200000000000
to na przykład datasetId
od 01 stycznia 2019 r. do 00:00:00 UTC do 02 stycznia 2019 r. do 00:00:00.
Metoda HTTP
GET
URL prośby
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