食べた食品を読み取る

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-154638720000000000001 Jan 2019 00:00:00 UTC から 02 Jan 2019 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