閱讀攝取的食物

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

要求網址

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

從資料來源取得食物清單

使用步驟 1 中每個來源的 dataSource.dataStreamId。 旋轉,以取得食物的攝取清單。

datasetId 在指定時間範圍的開始和結束時間,以奈秒為單位 (根據資料集資源定義)。

例如,1546300800000000000-1546387200000000000 代表 datasetId,代表 2019 年 1 月 1 日 00:00:00 (世界標準時間)2019 年 1 月 2 日 00:00:00

HTTP 方法

GET

要求網址

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