Lire les aliments consommés

Android

Votre application peut obtenir la liste des aliments consommés au cours d'une période spécifiée en créant une requête de lecture de données et en interrogeant DataType.TYPE_NUTRITION, comme dans l'exemple suivant:

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

Pour en savoir plus sur la lecture de données, consultez l'article Utiliser l'historique de remise en forme.

REST

La récupération de la liste des aliments consommés via l'API REST s'effectue en trois étapes:

  1. Récupérez la liste des sources de données disponibles pour le type de données com.google.nutrition. Si les détails de la source de données sont déjà connus, vous pouvez les utiliser directement à l'étape suivante.
  2. Obtenir une liste des aliments consommés à partir de chaque source de données l’un après l’autre.
  3. (S'il existe plusieurs sources de données) combinez les listes d'aliments dans l'application cliente.

Récupérer une liste de sources de données d'aliments

Comme seul datasource.dataStreamId est requis pour chaque source de données, un masque de champ peut être utilisé, comme illustré ici, pour limiter la réponse à cette seule propriété.

Méthode HTTP

GET

URL de la requête

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

Réponse

Si la requête aboutit, la réponse est un code d'état 200 OK. Le corps de la réponse contient une liste JSON, chaque élément de la liste correspondant à une source de données.

Exemple :

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

Commande 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

Obtenir une liste des aliments consommés à partir d’une source de données

Utilisez ensuite le dataSource.dataStreamId de chacune des sources de l'étape 1 pour récupérer la ou les listes d'aliments consommés.

La valeur datasetId correspond au début et à la fin de la période requise, en nanosecondes, tel que défini dans la ressource d'ensemble de données.

Par exemple, 1546300800000000000-1546387200000000000 représente la datasetId pour la période allant du 1er janvier 2019 à 00:00:00 UTC au 2 janvier 2019 à 00:00:00.

Méthode HTTP

GET

URL de la requête

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

Réponse

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

Commande 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