Membaca bahan makanan yang dimakan

Android

Aplikasi Anda dapat memperoleh daftar item makanan yang dimakan dalam jangka waktu tertentu dengan membuat permintaan baca data dan membuat kueri untuk DataType.TYPE_NUTRITION, seperti yang ditunjukkan dalam contoh berikut:

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

Untuk mengetahui informasi selengkapnya tentang cara membaca data, lihat Menggunakan Histori Kebugaran.

REST

Mengambil daftar item makanan yang dimakan, melalui REST API adalah proses tiga tahap:

  1. Mengambil daftar sumber data yang tersedia untuk com.google.nutrition jenis data. Atau, jika detail sumber data sudah diketahui, detail ini dapat digunakan langsung pada langkah berikutnya.
  2. Dapatkan daftar makanan yang dimakan dari setiap sumber data secara bergiliran.
  3. (Jika ada lebih dari satu sumber data) gabungkan daftar item makanan dalam aplikasi klien.

Mengambil daftar sumber data makanan

Karena hanya datasource.dataStreamId yang diperlukan dari setiap sumber data, mask kolom dapat digunakan, seperti yang ditunjukkan di sini, untuk membatasi respons hanya pada properti ini.

Metode HTTP

GET

URL permintaan

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

Respons

Jika berhasil, responsnya adalah kode status 200 OK. Isi respons berisi daftar JSON, dengan setiap item dalam daftar sesuai dengan sumber data.

Contoh:

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

Perintah 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

Mendapatkan daftar makanan yang dimakan dari sumber data

Gunakan dataSource.dataStreamId dari setiap sumber pada langkah 1, secara bergiliran, untuk mengambil daftar makanan yang dimakan.

datasetId adalah awal dan akhir periode waktu yang diperlukan, dalam nanodetik seperti yang ditentukan dalam resource set data.

Misalnya, 1546300800000000000-1546387200000000000 mewakili datasetId untuk 01 Jan 2019 00.00.00 UTC hingga 02 Jan 2019 00.00.00.

Metode HTTP

GET

URL permintaan

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

Respons

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

Perintah 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