Verzehrte Lebensmittel lesen

Android

Ihre App kann eine Liste der Lebensmittel abrufen, die Sie innerhalb eines bestimmten Zeitraums gegessen haben, indem sie eine Datenleseanfrage erstellen und DataType.TYPE_NUTRITION abfragen, wie Beispiel:

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

Weitere Informationen zum Lesen von Daten finden Sie unter Arbeiten mit dem Fitness-Verlauf.

REST

Der Abruf einer Liste der verzehrten Lebensmittel über die REST API erfolgt in drei Schritten. Prozess:

  1. Liste der für com.google.nutrition verfügbaren Datenquellen abrufen Datentyp. Wenn die Details der Datenquelle bereits bekannt sind, diese können im nächsten Schritt direkt verwendet werden.
  2. Sie können eine Liste der Lebensmittel abrufen, die der Reihe nach aus den einzelnen Datenquellen gegessen werden.
  3. (Falls mehrere Datenquellen vorhanden sind) kombinieren Sie die Listen mit Lebensmitteln. Elemente innerhalb der Client-Anwendung.

Liste von Datenquellen zu Lebensmitteln abrufen

Da für jede Datenquelle nur das Feld datasource.dataStreamId erforderlich ist, wie hier gezeigt, kann eine Feldmaske verwendet werden, um die Antwort auf diese Property.

HTTP-Methode

GET

Anfrage-URL

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

Antwort

Wenn der Vorgang erfolgreich war, wird der Statuscode 200 OK zurückgegeben. Der Antworttext enthält eine JSON-Liste, wobei jedes Element in der Liste einer Datenquelle entspricht.

Beispiel:

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

CURL-Befehl

$ 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

Liste der verzehrten Lebensmittel aus einer Datenquelle abrufen

Verwenden Sie die dataSource.dataStreamId aus jeder der Quellen in Schritt 1, in Turn, um die Liste(n) der gegessenen Lebensmittel abzurufen.

datasetId gibt den Beginn und das Ende des erforderlichen Zeitraums in Nanosekunden an. wie in der Dataset-Ressource definiert.

1546300800000000000-1546387200000000000 steht beispielsweise für den datasetId für den 1. Januar 2019 00:00:00 UTC bis zum 2. Januar 2019 00:00:00.

HTTP-Methode

GET

Anfrage-URL

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

Antwort

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

CURL-Befehl

$ 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