读取已吃的食物

Android

您的应用可以通过以下方式获取在指定时间范围内吃过的食物列表: 创建数据读取请求并查询 DataType.TYPE_NUTRITION,例如 如以下示例中所示:

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

如需详细了解如何读取数据,请参阅使用健身记录

REST

通过 REST API 检索已吃的菜品列表分为三个阶段 过程:

  1. 检索可用于 com.google.nutrition 的数据源列表 数据类型。或者,如果数据源详细信息已知, 可直接在下一步中使用。
  2. 依次获取从每个数据源获得的食物清单。
  3. 如果有多个数据源)合并食物列表 客户端应用程序中的程序。

检索食品数据源列表

由于每个数据源只需要 datasource.dataStreamId, 如下所示,可以使用字段掩码将响应限制为 属性。

HTTP 方法

GET

Request 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:"
  }
 ]
}

C网址 命令

$ 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

从数据源获取所吃的食物列表

使用第 1 步中每个来源的 dataSource.dataStreamId, 以检索已吃食物的列表。

datasetId 是所需时间段的开始和结束时间(以纳秒为单位) 如数据集资源中所定义。

例如,1546300800000000000-1546387200000000000 表示 datasetId2019 年 1 月 1 日 00:00:00 世界协调时间 (UTC))至 2019 年 1 月 2 日 00:00:00

HTTP 方法

GET

Request 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"
    }
   ]
  }
 ]
}

C网址 命令

$ 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