Czytaj spożyte produkty spożywcze

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:

  1. 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.
  2. Utwórz listę jedzenia spożytą z każdego źródła danych.
  3. (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