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