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 sorgu göndererek belirli bir zaman aralığında tüketilen yiyeceklerin listesini alabilir:

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

Okuma verileri hakkında daha fazla bilgi için Fitness Geçmişi ile çalışma başlıklı makaleyi inceleyin.

REST

Yenilen yemek öğelerinin listesini REST API aracılığıyla almak üç aşamalı bir işlemdir:

  1. com.google.nutritionVeri türü için kullanılabilen veri kaynaklarının listesini alın. Alternatif olarak, veri kaynağı ayrıntıları zaten biliniyorsa bunlar doğrudan sonraki adımda kullanılabilir.
  2. Sırayla her veri kaynağından tüketilen yiyeceklerin listesini alın.
  3. (Birden fazla veri kaynağı varsa) Müşteri uygulamasındaki yemek listelerini birleştirin.

Yemek veri kaynaklarının listesini alma

Her bir veri kaynağı için yalnızca datasource.dataStreamId gerekli olduğundan, yanıtı yalnızca bu mülkle 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 200 OK durum kodudur. Yanıt gövdesi, listedeki her öğenin bir veri kaynağına karşılık geldiği 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

Yenen yemeklerin listesini bir veri kaynağından alma

Yenilen yemeklerin listelerini almak için 1. adımda belirtilen kaynakların her birinden sırayla dataSource.dataStreamId simgesini kullanın.

datasetId, veri kümesi kaynağında tanımlandığı şekilde, gerekli zaman aralığının başlangıcı ve bitişidir (nanosaniye cinsinden).

Örneğin, 1546300800000000000-1546387200000000000, 01 Ocak 2019 00:00:00 UTC ile 02 Ocak 2019 00:00:00 arasındaki datasetId değerini gösterir.

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