Membaca item makanan yang dimakan

Android

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

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

Untuk informasi selengkapnya tentang membaca data, lihat Bekerja dengan Histori Kebugaran.

REST

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

  1. Ambil daftar sumber data yang tersedia untuk jenis data com.google.nutrition. 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 bergantian.
  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 ke 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 memuat daftar JSON, setiap item dalam daftar yang 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

Memperoleh daftar makanan yang dimakan dari sumber data

Gunakan dataSource.dataStreamId dari setiap sumber pada langkah 1, sehingga, dapat mengambil daftar makanan yang dimakan.

datasetId adalah awal dan akhir jangka waktu yang diperlukan, dalam nanodetik seperti yang dijelaskan 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