Yenen gıda maddelerini okuma

Android

Uygulamanız, aşağıdaki örnekte gösterildiği gibi, bir veri okuma isteği oluşturup DataType.TYPE_NUTRITION için sorgulama yaparak belirli bir zaman aralığında yenen gıda öğelerinin listesini alabilir:

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

Verileri okuma hakkında daha fazla bilgi için Fitness Geçmişi ile çalışma konusuna bakın.

REST

REST API aracılığıyla yenen gıda öğelerinin listesini almak üç aşamalı bir süreçtir:

  1. com.google.nutrition veri türü için mevcut veri kaynaklarının listesini alın. Alternatif olarak, veri kaynağı ayrıntıları zaten biliniyorsa bir sonraki adımda bunlar doğrudan kullanılabilir.
  2. Sırayla her veri kaynağından yenen yiyeceklerin listesini elde edin.
  3. (Birden fazla veri kaynağı varsa) istemci uygulamasındaki gıda maddelerinin listelerini birleştirin.

Gıda verisi kaynaklarının listesini alma

Her bir veri kaynağından yalnızca datasource.dataStreamId gerektiğinden, yanıtı yalnızca bu özellikle sınırlamak için burada gösterildiği gibi bir alan maskesi kullanılabilir.

HTTP yöntemi

GET

İstek URL'si

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

Yanıt

Başarılı olursa yanıt, bir 200 OK durum kodu olur. Yanıt gövdesi, listedeki her öğe bir veri kaynağına karşılık gelen bir JSON listesi içerir.

Örneğin:

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

CURL komutu

$ 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

Bir veri kaynağından yenen yiyeceklerin listesini alma

Yenen yiyeceklerin listelerini almak için 1. adımdaki kaynakların her birindeki dataSource.dataStreamId öğesini kullanın.

datasetId, veri kümesi kaynağında tanımlandığı gibi, gerekli dönemin nanosaniye cinsinden başlangıcı ve bitişidir.

Örneğin 1546300800000000000-1546387200000000000, 01 Ocak 2019 00:00:00 UTC ile 02 Ocak 2019 00:00:00 aralığı için datasetId temsil eder.

HTTP yöntemi

GET

İstek URL'si

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

Yanıt

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

CURL komutu

$ 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