感應器資料來源的定義。資料來源可能會公開來自本機或隨附裝置硬體感應器的原始資料。也可以公開衍生資料,也就是轉換或合併其他資料來源建立的資料。同一資料類型可以有多個資料來源。插入或讀取這項服務的每個資料點都有相關聯的資料來源。
資料來源包含足以識別其資料的資訊,包括硬體裝置和蒐集和/或轉換資料的行為。也會顯示實用的中繼資料,例如硬體和應用程式版本,以及裝置類型。
每個資料來源都會產生一組專屬 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 type:dataType.name 最後,如果由未建立資料來源的任何 REST 或 Android 用戶端讀取,開發人員專案編號和裝置 UID 就會經過模糊處理。只有資料來源建立者可以查看開發人員專案編號,而且格式是一般的。也就是說,用戶端會看到不同的 data_stream_ids 組合,與具有不同憑證的其他用戶端不同。 |
|
dataStreamName |
string |
串流名稱專門用來在相同基礎製作者的其他相同類型的資料來源中,識別此特定資料來源。您可以選擇是否設定串流名稱,但每當應用程式公開相同資料類型的兩個串流,或裝置有兩個同等感應器時,就會採用這項設定。 | |
dataType |
nested object |
資料類型會定義健身 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 == id2,則 obfuscated(id1) == obfuscated(id2)。 |
|
device.version |
string |
裝置硬體/軟體的版本字串。 | |
name |
string |
這個資料來源的使用者可見名稱。 | |
type |
string |
說明這個資料來源類型的常數。指出這個資料來源會產生原始或衍生資料。 可接受的值如下:
|
方法
- 建立
- 在這位使用者擁有的所有資料來源中,建立不重複的新資料來源。
資料來源是感應器的不重複資料來源。資料來源可能會公開來自本機或隨附裝置硬體感應器的原始資料。也可以公開衍生資料,也就是轉換或合併其他資料來源而建立的資料。同一資料類型可以有多個資料來源。從 Fitness API 插入或讀取的每個資料集的每個資料點都具有關聯的資料來源。
每個資料來源都會產生一組有專屬資料來源 ID 的專屬更新資料集更新。資料來源的變更不一定會影響資料串流 ID,因此相同應用程式/裝置的更新版本收集的資料仍會視為屬於同一資料來源。
系統會根據建立的來源內容,使用伺服器產生的字串來識別資料來源。叫用這個方法時,不應設定dataStreamId
欄位。伺服器將會以正確的格式自動產生憑證。如果設定了dataStreamId
,就必須與伺服器產生的格式相符。這種格式是資料來源中部分欄位的組合,且具有特定順序。如果不相符,要求就會失敗,並顯示錯誤。
指定非已知類型的 DataType (以「com.google.」開頭) 將透過自訂資料類型建立 DataSource。只有建立自訂資料類型的應用程式可以讀取這些類型。自訂資料類型已淘汰,請改用標準資料類型。
除了資料來源 ID 包含的資料來源欄位外,也包含在建立資料來源時驗證的開發人員專案編號。當其他任何讀取公開資料類型的開發人員讀取時,這個開發人員專案編號都會經過模糊處理。 - 刪除
- 刪除指定的資料來源。如果資料來源包含任何資料點,要求就會失敗。
- get
- 傳回指定的資料來源。
- list
- 使用提供的 OAuth 範圍列出開發人員可檢視的所有資料來源。該清單僅列舉部分項目;使用者可能有隻有其他開發人員能查看的私人資料來源,或使用其他範圍的呼叫。
- 更新
- 更新指定的資料來源。
dataStreamId
、dataType
、type
、dataStreamName
和device
屬性 (version
除外) 無法修改。
資料來源由其dataStreamId
識別。