定義感應器資料來源的唯一來源。資料來源可能會揭露本機或隨附裝置的硬體感應器的原始資料。此外,也可以公開轉換或合併其他資料來源產生的衍生資料。相同資料類型可能會有多個資料來源。從這項服務插入或讀取的每個資料點都有相關聯的資料來源。
資料來源包含充足的資訊,可用來辨識其資料,包括收集和/或轉換資料的硬體裝置和應用程式。其中包含硬體、應用程式版本和裝置類型等實用的中繼資料。
每個資料來源都會產生專屬資料串流,並使用專屬 ID。並非所有資料來源的變更都會影響串流 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 應用程式時會用來當做專屬 ID,但 REST 用戶端無法指定。REST 用戶端的開發人員 ID 號碼會反映在資料來源資料串流 (而非 packageName) 中。 | |
application.version |
string |
應用程式的版本。只要應用程式變更了會影響資料運算的方式,您就應該更新這個欄位。 | |
dataQualityStandard[] |
list |
請勿填入這個欄位。絕對不會在平台的回應中填入,並在查詢中會忽略。我們會在日後的版本中完全移除這個版本。 | |
dataStreamId |
string |
這個資料來源產生的資料串流專屬 ID。ID:
Android 應用程式建立的資料串流 ID 格式如下:type:dataType.name REST 用戶端建立的資料串流 ID 格式如下:type:dataType.name 如果沒有可構成資料串流 ID 的任一選用欄位,資料串流 ID 將會省略。最低的可行資料串流 ID 為:type:dataType.name:developer 專案編號 最後,只要任何未建立資料來源的 REST 或 Android 用戶端讀取,開發人員專案編號和裝置 UID 都會經過模糊處理。只有資料來源建立者才能看到開發人員專案編號,且清楚明瞭。也就是說,用戶端的 data_stream_ids 會與其他用戶端不同。 |
|
dataStreamName |
string |
這個串流名稱可識別同一資料來源中,其他相同類型的資料來源。設定串流名稱是選擇性的,但當應用程式曝露了同一資料類型的兩個串流,或者裝置有兩個對等的感應器時,即可完成這項設定。 | |
dataType |
nested object |
資料類型定義了從 Fitness API 收集、插入或查詢的資料串流的結構定義。 | |
dataType.field[] |
list |
欄位代表資料類型的一個維度。 | |
dataType.field[].format |
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 |
代表裝置類型的常數。 可接受的值如下:
|
|
device.uid |
string |
硬體的序號或其他專屬 ID。任何未建立資料來源的 REST 或 Android 用戶端讀取時,系統會對這個欄位進行模糊處理。只有資料來源建立者才能看到 uid 欄位,而且清楚明瞭。 模糊處理作業會維持相等性;也就是說,如果 id1 == id2,則模糊處理(id1) == obfuscated(id2)。 |
|
device.version |
string |
裝置硬體/軟體的版本字串。 | |
name |
string |
這個資料來源的使用者可見名稱。 | |
type |
string |
說明這個資料來源類型的常數。指出這個資料來源是否產生原始或衍生資料。 可接受的值如下:
|
方法
- 建立
- 建立此使用者的所有資料來源中不重複的資料來源。
資料來源是感應器資料的唯一來源,資料來源可能會揭露本機或隨附裝置的硬體感應器的原始資料。此外,也可以公開轉換或合併其他資料來源產生的衍生資料。相同資料類型可能會有多個資料來源。每個從 Fitness API 插入或讀取的每個資料集裡,每個資料點都有相關聯的資料來源。
每個資料來源都會產生一組不重複的資料集更新,其中包含專屬資料來源 ID。並非所有資料來源的變更都會影響資料串流 ID,因此由相同應用程式/裝置更新版本收集的資料仍可視為同一個資料來源。
資料來源為伺服器產生的字串,系統會根據建立的來源內容來識別。叫用這個方法時不應設定dataStreamId
欄位。伺服器會自動以正確的格式產生檔案。如果設定了dataStreamId
,就必須與伺服器產生的格式相符。這種格式是資料來源部分欄位的組合,具有特定順序。如果兩者不相符,要求就會失敗並傳回錯誤。
指定非已知類型 DataType (開頭為 com.google.") 將建立具有自訂資料類型的 DataSource。自訂資料類型僅供建立的應用程式讀取。自訂資料類型已淘汰,請改用標準資料類型。
除了資料來源 ID 中包含的資料來源欄位之外,開發人員建立號碼時也會完成驗證的開發人員專案編號。其他開發人員讀取公開資料類型時,對這個開發人員專案編號進行模糊處理。 - 刪除
- 刪除指定的資料來源。如果資料來源包含任何資料點,要求就會失敗。
- 取得
- 傳回指定的資料來源。
- list
- 使用提供的 OAuth 範圍,列出開發人員能看到的所有資料來源。這份清單並不完整,使用者可能只有其他開發人員看得到的私人資料來源,或是使用其他範圍的呼叫。
- 更新
- 更新指定的資料來源。
dataStreamId
、dataType
、type
、dataStreamName
和device
屬性除外,但version
除外。
資料來源以dataStreamId
來識別。