Users.dataSources

感應器資料的獨特來源定義。資料來源可能會公開本機或隨附裝置上硬體感應器產生的原始資料。此外,他們也可以公開衍生資料,也就是轉換或合併其他資料來源建立的衍生資料。同一個資料類型可以有多個資料來源。凡是在這項服務中插入或讀取的資料點,都會有相關聯的資料來源。

資料來源包含足夠的資訊可明確識別資料,包括硬體裝置以及收集和/或轉換資料的應用程式。其中也會保存實用的中繼資料,例如硬體與應用程式版本以及裝置類型。

每個資料來源都會透過專屬 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 會用來當做專屬 ID,但 REST 用戶端無法指定。REST 用戶端會在資料來源資料串流 ID 中顯示開發人員專案編號,而不是 packageName。
application.version string 應用程式的版本。每當應用程式以會影響資料運算的方式變更時,您就應該更新這個欄位。
dataQualityStandard[] list 請勿填入這個欄位。從平台回應不會填入這個值,查詢時也會忽略。我們會在日後的版本中完全移除這個程式庫。
dataStreamId string 這個資料來源產生的資料串流專屬 ID。ID 包括:

  • 實體裝置的製造商、型號和序號 (UID)。
  • 應用程式的套件名稱或名稱。資料來源由 Android 應用程式建立時,系統會使用套件名稱。當資料來源由 REST 用戶端建立時,系統會使用開發人員專案編號。
  • 資料來源的類型。
  • 資料來源的串流名稱。
請注意,並非所有資料來源屬性都會用於串流 ID。具體來說,未使用硬體/應用程式的版本。如此一來,我們就能在版本更新時保留相同的串流內容。這也表示兩個 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_ids,也只會看到其他使用不同憑證的用戶端。

dataStreamName string 串流名稱會在相同基礎製作者提供的其他相同類型的資料來源中,明確識別這個特定資料來源。雖然設定串流名稱並非必要,但每當應用程式公開相同資料類型的兩個串流,或裝置具備兩個對等的感應器時,您就應該設定串流名稱。
dataType nested object 資料類型定義了透過 Fitness API 收集、插入或查詢資料串流的結構定義。
dataType.field[] list 欄位代表資料類型的一個維度。
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 欄位。

此模糊處理可維持相等性;也就是兩個 ID。如果 id1 == id2,obfuscated(id1) == obfuscated(id2)。

device.version string 裝置硬體/軟體的版本字串。
name string 這個資料來源的使用者可見名稱。
type string 說明這個資料來源類型的常數。指出這個資料來源會產生原始或衍生的資料。

可接受的值為:
  • derived
  • raw

方法

建立
新建的資料來源在所有隸屬的資料來源中都沒有重複 提供給該使用者

資料來源是感應器資料的獨特來源。資料來源 來自本機或隨附裝置的硬體感應器的原始資料。他們 也可以公開因轉換或合併其他資料而建立的衍生資料 資料來源同一個資料類型可以有多個資料來源。所有資料 插入或讀取 Fitness API 的每個資料集都有一個資料點 相關的資料來源

每個資料來源都會產生不重複的資料集更新串流, 不重複的資料來源 ID並非所有資料來源變更都會影響 資料串流 ID,讓新版相同 應用程式/裝置仍可視為相同的資料 來源。

系統會使用伺服器產生的字串辨識資料來源, 專屬於要建立來源的內容dataStreamId 欄位不得在叫用這個方法時設定。這項服務 是由伺服器自動產生正確的格式。如果 已設定 dataStreamId,且必須符合 產生的值這種格式是 且具有特定順序如果不相符 就會失敗,並顯示錯誤。

指定非已知類型的 DataType (開頭為 「com.google.」),建立含有自訂資料類型的 DataSource。 只有建立自訂資料類型的應用程式才能讀取。 自訂資料類型已淘汰;使用標準資料類型 。

除了資料來源 ID 中包含的資料來源欄位以外, 開發人員專案編號;這是在建立資料時通過驗證的開發人員專案編號 來源。讀取時,這個開發人員專案編號會經過模糊處理 其他任何開發人員讀取公開資料類型的情況
刪除
刪除指定的資料來源。如果資料擷取作業包含 來源包含任何資料點
取得
傳回指定資料來源。
list
列出開發人員可使用 OAuth 取得的所有資料來源 範圍。請注意,這份清單中僅列出部分示例。含有私人資訊的使用者 只有其他開發人員看得到的資料來源 和其他範圍
更新
更新指定資料來源。dataStreamId dataTypetypedataStreamNamedevice 屬性 (version 除外), 無法修改。

資料來源由其「dataStreamId」識別。