Users.dataSources: create

建立在這位使用者所有資料來源中不重複的新資料來源。

資料來源是感應器的不重複資料來源。資料來源可能會公開來自本機或隨附裝置硬體感應器的原始資料。也可以公開衍生資料,也就是轉換或合併其他資料來源而建立的資料。同一資料類型可以有多個資料來源。從 Fitness API 插入或讀取的每個資料集的每個資料點都具有關聯的資料來源。

每個資料來源都會產生一組有專屬資料來源 ID 的專屬更新資料集更新。資料來源的變更不一定會影響資料串流 ID,因此相同應用程式/裝置的更新版本收集的資料仍會視為屬於同一資料來源。

系統會根據建立的來源內容,使用伺服器產生的字串來識別資料來源。叫用這個方法時,不應設定 dataStreamId 欄位。伺服器將會以正確的格式自動產生憑證。如果設定了 dataStreamId,就必須與伺服器產生的格式相符。這種格式是資料來源中部分欄位的組合,且具有特定順序。如果不相符,要求就會失敗,並顯示錯誤。

指定非已知類型的 DataType (以「com.google.」開頭) 將透過自訂資料類型建立 DataSource。只有建立自訂資料類型的應用程式可以讀取這些類型。自訂資料類型已淘汰,請改用標準資料類型。

除了資料來源 ID 包含的資料來源欄位外,也包含在建立資料來源時驗證的開發人員專案編號。當任何其他讀取公開資料類型的開發人員讀取時,這個開發人員專案編號會經過模糊處理。立即試用

要求

HTTP 要求

POST https://www.googleapis.com/fitness/v1/users/userId/dataSources

參數

參數名稱 說明
路徑參數
userId string 為識別的使用者建立資料來源。使用 me 表示已驗證的使用者。目前僅支援 me

授權

這項要求至少需要取得下列其中一個範圍的授權:

內容範圍
https://www.googleapis.com/auth/fitness.activity.write
https://www.googleapis.com/auth/fitness.location.write
https://www.googleapis.com/auth/fitness.body.write
https://www.googleapis.com/auth/fitness.nutrition.write
https://www.googleapis.com/auth/fitness.blood_pressure.write
https://www.googleapis.com/auth/fitness.blood_glucose.write
https://www.googleapis.com/auth/fitness.oxygen_saturation.write
https://www.googleapis.com/auth/fitness.body_temperature.write
https://www.googleapis.com/auth/fitness.reproductive_health.write

詳情請參閱「驗證和授權」網頁。

要求主體

在要求內文中,提供 Users.dataSources 資源並附上以下屬性:

資源名稱 說明 附註
必要屬性
application nested object 將感應器資料提供給平台的應用程式相關資訊。
application.name string 這個應用程式的名稱。此為 REST 用戶端的必要欄位,不過我們不會強制規定此名稱是否重複。方便其他開發人員找出哪個 REST 建立了應用程式或資料來源,方便他們查看上述資料。
dataType nested object 資料類型會定義健身 API 所收集、插入或查詢資料串流的結構定義。
dataType.field[] list 欄位代表一種資料類型的一個維度。
dataType.field[].format string 資料類型中各欄位支援的格式。

可接受的值如下:
  • "blob"
  • "floatList"
  • "floatPoint"
  • "integer"
  • "integerList"
  • "map"
  • "string"
dataType.field[].name string 定義資料的名稱和格式。與資料類型名稱不同的是,欄位名稱並非命名空間,而且只需要在資料類型中不得重複。
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,如果 id1 == id2,則 obfuscated(id1) == obfuscated(id2)。

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

可接受的值如下:
  • "derived"
  • "raw"

回覆

如果成功的話,這個方法會在回應主體中傳回 Users.dataSources 資源

試試看!

使用下方的 APIs Explorer,針對有效資料呼叫這個方法,然後查看回應。