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

Android

Ứng dụng của bạn có thể tải danh sách các món ăn đã ăn trong một khung thời gian cụ thể bằng cách sẽ tạo một yêu cầu đọc dữ liệu và truy vấn DataType.TYPE_NUTRITION, như 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 bài viết Làm việc với Nhật ký tập thể dục.

Kiến trúc chuyển trạng thái đại diện (REST)

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

  1. Truy xuất danh sách các nguồn dữ liệu có sẵn cho com.google.nutrition loại dữ liệu. Ngoài ra, nếu đã biết thông tin chi tiết về nguồn dữ liệu, bạn có thể sử dụng ngay trong bước tiếp theo.
  2. Lấy danh sách các thực phẩm đã ăn từ mỗi 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 loại thực phẩm các mục trong ứng dụng khách.

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

Do chỉ có datasource.dataStreamId là bắt buộc từ mỗi nguồn dữ liệu, bạn có thể sử dụng mặt nạ trường, như minh hoạ ở đây, để giới hạn chỉ phản hồi này 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. Nội dung phản hồi chứa 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ừ nguồn dữ liệu

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

datasetId là thời điểm 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ị cho datasetId trong khoảng thời gian 00:00:00 ngày 1 tháng 1 năm 2019 đến 00:00:00 ngày 2 tháng 1 năm 2019.

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