Odczytuj informacje o zjedzonych pokarmach

Android

Aplikacja może uzyskać listę produktów spożywczych zjadanych w określonym przedziale czasu przez tworząc żądania odczytu danych i zapytania dotyczące usługi 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 na temat odczytywania danych znajdziesz w artykule Praca z historią aktywności.

REST

Pobieranie za pomocą interfejsu API REST listy zjadanych produktów spożywczych składa się z 3 etapów. proces:

  1. Pobierz listę źródeł danych dostępnych dla: com.google.nutrition typu danych. Jeśli informacje o źródle danych są już znane, będzie można ich użyć bezpośrednio w następnym kroku.
  2. Dzięki temu możesz uzyskać z każdego źródła danych listę spożytych posiłków.
  3. (jeśli istnieje więcej niż jedno źródło danych) połącz listy produktów spożywczych elementów w aplikacji klienckiej.

Pobieranie listy źródeł danych o żywności

Każde źródło danych wymaga tylko pola datasource.dataStreamId, maski pola, jak pokazano tutaj, można użyć do ograniczenia odpowiedzi tylko do tego usłudze.

Metoda HTTP

GET

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 miała kod stanu 200 OK. treść odpowiedzi; zawiera listę JSON, czyli każdy element na liście odpowiadający źródłom 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' \
      --compressed

Uzyskiwanie ze źródła danych listy spożytych posiłków

Użyj identyfikatorów dataSource.dataStreamId z każdego źródła podanych w kroku 1 w Turn, aby pobrać listę zjedzonego jedzenia.

datasetId oznacza początek i koniec wymaganego okresu w nanosekundach zgodnie z definicją w zasobie zbioru danych.

Na przykład 1546300800000000000-1546387200000000000 oznacza datasetId, od 01 stycznia 2019 r. od godz. 00:00:00 UTC do 02 stycznia 2019 r. do godz. 00:00:00.

Metoda HTTP

GET

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