食べた食品を読み取る

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. データソースが複数ある場合)クライアント アプリケーション内で食品項目のリストを結合します。

食品データソースのリストを取得する

データソースから 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

データソースから食べた食品のリストを取得する

手順 1 の各ソースの dataSource.dataStreamId を順番に使用して、食べた食品のリストを取得します。

datasetId は、データセット リソースで定義されている必要な期間の開始と終了(ナノ秒単位)です。

たとえば、1546300800000000000-15463872000000000002019 年 1 月 1 日 00:00:00 UTC から 2019 年 1 月 2 日 00:00:00 までの datasetId を表します。

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