Users.dataSources

センサーデータの一意のソースの定義。データソースは、ローカル デバイスやコンパニオン デバイスのハードウェア センサーから取得した元データを公開できます。また、他のデータソースを変換または結合して作成された派生データを公開することもできます。同じデータ型に対して複数のデータソースが存在する場合があります。このサービスに挿入されているデータポイント、またはこのサービスから読み取られるデータポイントには、それぞれデータソースが関連付けられています。 

データソースには、ハードウェア デバイスや、データを収集または変換したアプリケーションなど、データを一意に識別するのに十分な情報が含まれています。また、ハードウェアとアプリケーションのバージョン、デバイスの種類など、有用なメタデータも保持されます。 

各データソースは、一意の識別子を持つ一意のデータ ストリームを生成します。データソースに対するすべての変更がストリーム ID に影響するわけではないため、同じアプリケーション/デバイスの更新バージョンで収集されたデータは、引き続き同じデータ ストリームに属していると見なされます。

このリソースのメソッドの一覧は、このページの最後に掲載されています。

リソースの表記

{
  "dataStreamId": string,
  "name": string,
  "dataStreamName": string,
  "type": string,
  "dataType": {
    "name": string,
    "field": [
      {
        "name": string,
        "format": string,
        "optional": boolean
      }
    ]
  },
  "device": {
    "uid": string,
    "type": string,
    "version": string,
    "model": string,
    "manufacturer": string
  },
  "application": {
    "packageName": string,
    "version": string,
    "detailsUrl": string,
    "name": string
  },
  "dataQualityStandard": [
    string
  ]
}
プロパティ名 説明 メモ
application nested object センサーデータをプラットフォームにフィードするアプリケーションに関する情報。
application.detailsUrl string アプリケーションに戻るために使用できる URI(省略可)。
application.name string このアプリケーションの名前。これは REST クライアントでは必須ですが、この名前の一意性は強制されません。アプリケーションやデータソースを作成した REST を知りたい他のデベロッパーのために用意されており、便宜上提供されています。
application.packageName string このアプリケーションのパッケージ名。Android アプリの作成時に一意の識別子として使用されます。REST クライアントでは指定できません。REST クライアントのデベロッパー プロジェクト番号は、packageName ではなく、データソース データ ストリーム ID に反映されます。
application.version string アプリケーションのバージョン。データの計算に影響するような方法でアプリケーションが変更されるたびに、このフィールドを更新する必要があります。
dataQualityStandard[] list このフィールドには入力しないでください。プラットフォームからのレスポンスには入力されず、クエリでは無視されます。今後のバージョンで完全に削除される予定です。
dataStreamId string このデータソースによって生成されたデータ ストリームの一意の識別子。ID には次のものが含まれます。

  • 物理デバイスのメーカー、モデル、シリアル番号(UID)。
  • アプリのパッケージ名または名前。パッケージ名は、データソースが Android アプリによって作成された場合に使用されます。デベロッパー プロジェクト番号は、データソースが REST クライアントによって作成された場合に使用されます。
  • データソースのタイプ。
  • データソースのストリーム名。
データソースのすべての属性がストリーム識別子の一部として使用されるわけではないことに注意してください。特に、ハードウェアとアプリケーションのバージョンは使用されていません。これにより、バージョン アップデート後も同じストリームを保持できます。つまり、2 つの DataSource オブジェクトが同じデータ ストリームでなくても、同じデータ ストリームを表すことがあります。

Android アプリケーションによって作成されるデータ ストリーム ID の正確な形式は次のとおりです。type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName

REST クライアントによって作成されるデータ ストリーム ID の正確な形式は次のとおりです。type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName

データ ストリーム ID を構成するオプション フィールドのいずれかが存在しない場合、それらのフィールドはデータ ストリーム ID から除外されます。実用最小限のデータ ストリーム ID は、type:dataType.name:developer プロジェクト番号

です。最後に、デベロッパー プロジェクト番号とデバイス UID は、データソースを作成していない REST または Android クライアントによって読み取られると難読化されます。デベロッパーのプロジェクト番号は、データソースの作成者に対してのみ通常の形式で表示されます。つまり、クライアントには、認証情報の異なる別のクライアントとは異なる data_stream_ids セットが表示されます。

dataStreamName string ストリーム名は、この特定のデータソースを、基盤となる同じプロデューサーの同じタイプの他のデータソースの中から一意に識別します。ストリーム名の設定は任意ですが、アプリケーションが同じデータ型の 2 つのストリームを公開する場合や、デバイスに 2 つの同等のセンサーがある場合には、必ず行う必要があります。
dataType nested object データタイプは、Fitness API によって収集、挿入、またはクエリされるデータ ストリームのスキーマを定義します。
dataType.field[] list フィールドは、データ型の 1 つのディメンションを表します。
dataType.field[].format string データ型の各フィールドでサポートされるさまざまな形式。

有効な値は次のとおりです。
  • "blob"
  • "floatList"
  • "floatPoint"
  • "integer"
  • "integerList"
  • "map"
  • "string"
dataType.field[].name string データの名前と形式を定義します。データ型名とは異なり、フィールド名は名前空間ではなく、データ型内で一意である必要があります。
dataType.field[].optional boolean
dataType.name string 各データ型には、名前空間付きの一意の名前があります。com.google 名前空間内のすべてのデータ型はプラットフォームの一部として共有されます。
device nested object センサーを保持できる統合デバイス(スマートフォンやウェアラブルなど)を表します。
device.manufacturer string 製品やハードウェアのメーカー。
device.model string エンドユーザーに表示されるデバイスのモデル名。
device.type string デバイスのタイプを表す定数。

有効な値は次のとおりです。
  • "chestStrap"
  • "headMounted"
  • "phone"
  • "scale"
  • "smartDisplay"
  • "tablet"
  • "unknown"
  • "watch"
device.uid string ハードウェアのシリアル番号またはその他の一意の ID。このフィールドは、データソースを作成していない REST または Android クライアントによって読み取られると難読化されます。uid フィールドは、データソースの作成者に対してのみ通常の形式で表示されます。

難読化では等価性が維持されます。つまり、id1 == id2 の場合、obfuscated(id1) == obfuscated(id2) になります。

device.version string デバイスのハードウェアとソフトウェアのバージョン文字列。
name string このデータソースのエンドユーザーに表示される名前。
type string このデータソースのタイプを表す定数。このデータソースが元データを生成するか、派生データを生成するかを示します。

有効な値は次のとおりです。
  • "derived"
  • "raw"

メソッド

create
このユーザーに属するすべてのデータソース全体で一意の新しいデータソースを作成します。

データソースは、センサーデータの一意のソースです。データソースは、ローカル デバイスやコンパニオン デバイスのハードウェア センサーから取得した元データを公開できます。また、他のデータソースを変換または結合して作成された派生データを公開することもできます。同じデータ型に対して複数のデータソースが存在する場合があります。Fitness API に挿入または読み取るすべてのデータセットのすべてのデータポイントには、データソースが関連付けられています。

各データソースは、一意のデータソース識別子を使用して、データセット更新の一意のストリームを生成します。データソースに対するすべての変更がデータ ストリーム ID に影響するわけではないため、同じアプリやデバイスの更新版で収集されたデータは、引き続き同じデータソースに属していると見なされます。

データソースは、作成されるソースのコンテンツに基づいて、サーバーによって生成された文字列を使用して識別されます。このメソッドを呼び出すときは、dataStreamId フィールドは設定しないでください。これはサーバーによって正しい形式で自動的に生成されます。dataStreamId を設定する場合は、サーバーが生成する形式と一致する必要があります。この形式は、データソースのいくつかのフィールドを組み合わせたもので、特定の順序があります。一致しない場合、リクエストは失敗し、エラーになります。

既知のタイプでない DataType(「com.google.」で始まる)を指定すると、カスタムデータ型の DataSource が作成されます。カスタムデータ型は、そのデータ型を作成したアプリケーションのみが読み取り可能です。カスタムデータ型は非推奨になりました。代わりに標準データ型を使用してください。

データソース ID に含まれるデータソース フィールドに加えて、データソースの作成時に認証されるデベロッパー プロジェクト番号が含まれます。このデベロッパー プロジェクト番号は、一般公開データ型を読み取る他のデベロッパーが読み取るときに難読化されます。
delete
指定したデータソースを削除します。データソースにデータポイントが含まれている場合、リクエストは失敗します。
get
指定されたデータソースを返します。
list
指定された OAuth スコープを使用して、デベロッパーに表示されるすべてのデータソースを一覧表示します。このリストはすべてを網羅しているわけではありません。ユーザーは、他のデベロッパーにのみ表示される非公開データソースがあるか、他のスコープを使用して呼び出している可能性があります。
update
指定されたデータソースを更新します。dataStreamIddataTypetypedataStreamNamedevice プロパティ(version を除く)は変更できません。

データソースは dataStreamId で識別されます。