Membaca bahan makanan yang dimakan

Android

Aplikasi Anda bisa mendapatkan daftar item makanan yang dimakan dalam jangka waktu tertentu dengan membuat permintaan pembacaan data dan pembuatan kueri untuk DataType.TYPE_NUTRITION, sebagai yang ditunjukkan dalam contoh berikut:

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

Untuk informasi selengkapnya tentang membaca data, lihat Mengelola Histori Kebugaran.

REST

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

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

Mengambil daftar sumber data makanan

Karena hanya datasource.dataStreamId yang diperlukan dari setiap sumber data, {i>field mask<i} dapat digunakan, seperti yang ditunjukkan di sini, untuk membatasi respons hanya untuk saat 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, 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 di langkah 1, di balik, untuk mengambil daftar makanan yang dimakan.

datasetId adalah awal dan akhir dari 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