Đọc các món ăn được ăn

Android

Ứng dụng của bạn có thể nhận được danh sách các món ăn đã dùng trong một khung thời gian cụ thể bằng cách tạo yêu cầu đọc dữ liệu và truy vấn DataType.TYPE_NUTRITION, như trong ví dụ sau:

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

Để biết thêm thông tin về cách đọc dữ liệu, hãy xem phần Làm việc với Nhật ký hoạt động thể dục.

REST

Việc truy xuất danh sách các món ăn đã dùng thông qua API REST là một quy trình gồm 3 giai đoạn:

  1. Truy xuất danh sách các nguồn dữ liệu có sẵn cho com.google.nutritionloại dữ liệu. Ngoài ra, nếu bạn đã biết thông tin chi tiết về nguồn dữ liệu, thì bạn có thể sử dụng trực tiếp thông tin này trong bước tiếp theo.
  2. Lần lượt lấy danh sách thực phẩm đã ăn từ từng nguồn dữ liệu.
  3. (Nếu có nhiều nguồn dữ liệu) kết hợp danh sách các mặt hàng thực phẩm trong ứng dụng khách.

Truy xuất danh sách nguồn dữ liệu thực phẩm

Vì chỉ cần datasource.dataStreamId từ mỗi nguồn dữ liệu, bạn có thể dùng một mặt nạ trường (như minh hoạ ở đây) để giới hạn phản hồi chỉ cho thuộc tính này.

Phương thức HTTP

GET

URL yêu cầu

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

Đáp

Nếu thành công, phản hồi sẽ là mã trạng thái 200 OK. Phần nội dung phản hồi chứa một danh sách JSON, mỗi mục trong danh sách tương ứng với một nguồn dữ liệu.

Ví dụ:

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

Lệnh 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

Lấy danh sách thực phẩm đã ăn từ một nguồn dữ liệu

Lần lượt sử dụng dataSource.dataStreamId từ mỗi nguồn ở bước 1 để truy xuất(các) danh sách thực phẩm đã ăn.

datasetId là thời gian bắt đầu và kết thúc của khoảng thời gian bắt buộc, tính bằng nano giây như được xác định trong tài nguyên tập dữ liệu.

Ví dụ: 1546300800000000000-1546387200000000000 biểu thị datasetId cho 01/01/2019 00:00:00 UTC đến 02/01/2019 00:00:00.

Phương thức HTTP

GET

URL yêu cầu

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

Đáp

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

Lệnh 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