Gelesene Lebensmittel lesen

Android

Ihre App kann eine Liste von Lebensmitteln abrufen, die innerhalb eines bestimmten Zeitraums gegessen wurden. Dazu erstellt sie eine Datenleseanfrage und fragt DataType.TYPE_NUTRITION ab, wie im folgenden Beispiel gezeigt:

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

Weitere Informationen zum Lesen von Daten finden Sie unter Mit dem Fitnessverlauf arbeiten.

REST

Das Abrufen einer Liste von aufgenommenen Lebensmitteln über die REST API erfolgt in drei Phasen:

  1. Rufen Sie eine Liste der verfügbaren Datenquellen für den Datentyp com.google.nutrition ab. Wenn die Details der Datenquelle bereits bekannt sind, können sie direkt im nächsten Schritt verwendet werden.
  2. Rufen Sie wiederum eine Liste der Nahrungsmittel ab, die aus den einzelnen Datenquellen gegessen werden.
  3. (Wenn mehrere Datenquellen vorhanden sind) werden die Listen der Lebensmittel in der Clientanwendung kombiniert.

Liste von Lebensmitteldatenquellen abrufen

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

HTTP-Methode

GET

Anfrage-URL

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

Antwort

Bei Erfolg ist die Antwort ein 200 OK-Statuscode. 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 mit Speisen abrufen, die aus einer Datenquelle gegessen wurden

Verwenden Sie wiederum die dataSource.dataStreamId aus jeder Quelle in Schritt 1, um die Liste(n) der aufgenommenen Lebensmittel abzurufen.

datasetId ist der Beginn und das Ende des erforderlichen Zeitraums in Nanosekunden, wie in der Datensatzressource definiert.

Beispiel: 1546300800000000000-1546387200000000000 stellt den datasetId für 01 Januar 2019 00:00:00 UTC bis 02 Januar 2019 00:00:00 dar.

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