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
は 01 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