Android
アプリは、次の例に示すように、データ読み取りリクエストを作成して DataType.TYPE_NUTRITION をクエリすることで、指定した期間内に食べた食品のリストを取得できます。
val readRequest = DataReadRequest.Builder()
.read(DataType.TYPE_NUTRITION)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build()
データの読み取りについて詳しくは、フィットネス履歴を操作するをご覧ください。
REST
REST API を介して食べた食品のリストを取得するプロセスは、次の 3 つの段階で構成されます。
com.google.nutritionデータタイプで使用可能なデータソースのリストを取得します。または、データソースの詳細がすでにわかっている場合は、次のステップで直接使用できます。- 各データソースから順番に食べた食品のリストを取得します。
- (データソースが複数ある場合)クライアント アプリケーション内で食品項目のリストを結合します。
食品データソースのリストを取得する
各データソースから 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-1546387200000000000 は 2019 年 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