Lettura degli alimenti consumati

Android

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

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

Per ulteriori informazioni sulla lettura dei dati, vedi Utilizzo della cronologia di fitness.

REST

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

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

Recupero di un elenco di origini dati alimentari

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

Metodo HTTP

GET

URL di 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, dove 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

Come ottenere un elenco degli alimenti consumati da un'origine dati

Utilizza dataSource.dataStreamId di ciascuna delle origini nel passaggio 1, in per recuperare gli elenchi degli alimenti consumati.

datasetId indica 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 datasetId per le 00:00:00 UTC del 1° gennaio 2019 alle 00:00:00 del 2 gennaio 2019.

Metodo HTTP

GET

URL di 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