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 クライアントによって作成された場合に使用されます。
  • データソースのタイプ。
  • データソースのストリーム名。
なお、データソースのすべての属性がストリーム ID の一部として使用されるわけではありません。特に、ハードウェア/アプリケーションのバージョンは使用されません。これにより、バージョンの更新後も同じストリームを保持できます。つまり、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 プロジェクト番号です。

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

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

有効な値は次のとおりです。
  • blob
  • floatList
  • floatPoint
  • integer
  • integerList
  • map
  • string
dataType.field[].name string データの名前と形式を定義します。データ型名とは異なり、フィールド名は Namespace ではなく、データ型内で一意である必要があります。
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 フィールドは明確で通常の形式で表示されるため、データソースの作成者にのみ表示されます。

難読化では等式が維持されます。つまり、2 つの ID が指定された場合、id1 == id2、難読化(id1)== 難読化(id2)となります。

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

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

Methods

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

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

各データソースは、データセットの更新に固有のストリームと、固有のデータソース識別子を生成します。データソースに対するすべての変更がデータ ストリーム ID に影響するわけではないため、同じアプリケーションまたはデバイスの更新されたバージョンによって収集されたデータは、同じデータソースに属しているとみなすことができます。

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

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

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

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