Lettura degli alimenti consumati

Android

La tua app può ottenere un elenco di alimenti consumati in un periodo di tempo specificato creando una richiesta di lettura dei dati ed eseguendo una query per DataType.TYPE_NUTRITION, come mostrato nell'esempio seguente:

val readRequest = DataReadRequest.Builder()
    .read(DataType.TYPE_NUTRITION)
    .setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
    .build()

Per saperne di più sulla lettura dei dati, vedi Utilizzare la cronologia di Fitness.

REST

Il recupero di un elenco di alimenti consumati tramite l'API REST è un processo in tre fasi:

  1. Recupera un elenco delle origini dati disponibili per il com.google.nutrition tipo di dati. In alternativa, se i dettagli dell'origine dati sono già noti, possono essere utilizzati direttamente nel passaggio successivo.
  2. Ottieni un elenco degli alimenti consumati da ogni origine dati a turno.
  3. (Se è presente più di un'origine dati) combina gli elenchi di alimenti all'interno dell'applicazione client.

Recuperare un elenco di origini dati alimentari

Poiché è richiesto solo datasource.dataStreamId da ogni origine dati, è possibile utilizzare una maschera di campo, come mostrato qui, per limitare la risposta a questa proprietà.

Metodo HTTP

GET

URL richiesta

https://www.googleapis.com/fitness/v1/users/me/dataSources?dataTypeName=com.google.nutrition&fields=dataSource(dataStreamId)

Risposta

In caso di esito positivo, la risposta è un codice di stato 200 OK. Il corpo della risposta contiene un elenco JSON, ogni elemento dell'elenco corrisponde a un'origine dati.

Ad esempio:

{
 "dataSource": [
  {
   "dataStreamId": "raw:com.google.nutrition:com.example.nutritionSource1:"
  },
  {
   "dataStreamId": "raw:com.google.nutrition:com.example.nutritionSource2:"
  }
 ]
}

Comando 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

Ottenere un elenco di alimenti consumati da un'origine dati

Utilizza il dataSource.dataStreamId di ciascuna delle fonti del passaggio 1, a turno, per recuperare l'elenco o gli elenchi degli alimenti consumati.

datasetId è l'inizio e la fine del periodo di tempo richiesto, in nanosecondi come definito nella risorsa del set di dati.

Ad esempio, 1546300800000000000-1546387200000000000 rappresenta il datasetId per 01 gen 2019 00:00:00 UTC a 02 gen 2019 00:00:00.

Metodo HTTP

GET

URL richiesta

https://www.googleapis.com/fitness/v1/users/me/dataSources/dataSource.dataStreamId/datasets/1546300800000000000-1546387200000000000?fields=point%2Fvalue%2FstringVal

Risposta

{
 "point": [
  {
   "value": [
    {},
    {},
    {
     "stringVal": "apple"
    }
   ]
  },
  {
   "value": [
    {},
    {},
    {
     "stringVal": "banana"
    }
   ]
  },
  {
   "value": [
    {},
    {},
    {
     "stringVal": "carrot"
    }
   ]
  }
 ]
}

Comando 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