อ่านข้อมูลอาหารที่รับประทาน

Android

แอปของคุณจะรับรายการอาหารที่รับประทานภายในกรอบเวลาที่ระบุได้โดยสร้างคำขออ่านข้อมูลและค้นหา DataType.TYPE_NUTRITION ดังที่แสดงในตัวอย่างต่อไปนี้

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับการอ่านข้อมูลได้ที่หัวข้อทำงานกับประวัติการออกกำลังกาย

REST

การดึงรายการอาหารที่รับประทานผ่าน REST API เป็นกระบวนการ 3 ขั้นตอน ดังนี้

  1. ดึงข้อมูลรายการแหล่งข้อมูลที่ใช้ได้สำหรับcom.google.nutrition ประเภทข้อมูล หรือหากทราบรายละเอียดแหล่งข้อมูลอยู่แล้ว ก็สามารถใช้รายละเอียดดังกล่าวได้โดยตรงในขั้นตอนถัดไป
  2. รับรายการอาหารที่รับประทานจากแหล่งข้อมูลแต่ละแหล่งตามลำดับ
  3. (หากมีแหล่งข้อมูลมากกว่า 1 แหล่ง) รวมรายการอาหาร ในแอปพลิเคชันไคลเอ็นต์

การดึงข้อมูลรายการแหล่งข้อมูลอาหาร

เนื่องจากต้องใช้เฉพาะ datasource.dataStreamId จากแหล่งข้อมูลแต่ละแหล่งเท่านั้น จึงใช้มาสก์ฟิลด์ได้ตามที่แสดงที่นี่ เพื่อจำกัดการตอบกลับให้เป็นพร็อพเพอร์ตี้นี้เท่านั้น

เมธอด HTTP

GET

URL ของคำขอ

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

การตอบกลับ

หากสำเร็จ การตอบกลับจะเป็นรหัสสถานะ 200 OK ส่วนเนื้อหาของการตอบกลับ มีรายการ JSON โดยแต่ละรายการในรายการจะสอดคล้องกับแหล่งข้อมูล

เช่น

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

คำสั่ง 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

การรับรายการอาหารที่รับประทานจากแหล่งข้อมูล

ใช้ dataSource.dataStreamId จากแต่ละแหล่งที่มาในขั้นตอนที่ 1 เพื่อดึงรายการอาหารที่รับประทาน

datasetId คือจุดเริ่มต้นและจุดสิ้นสุดของระยะเวลาที่จำเป็นในหน่วยนาโนวินาที ตามที่กำหนดไว้ในแหล่งข้อมูลชุดข้อมูล

เช่น 1546300800000000000-1546387200000000000 แสดงถึง datasetId สำหรับ 01 ม.ค. 2019 00:00:00 UTC ถึง 02 ม.ค. 2019 00:00:00

เมธอด HTTP

GET

URL ของคำขอ

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

การตอบกลับ

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

คำสั่ง 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