深度鏈接自動化

使用 URL 方案以編程方式創建自動化。

Last updated: April 5, 2026

本頁內容

深度鏈接自動化可通過 URL 方案以編程方式創建 REST API 自動化。適合自動化腳本、配置管理,或需要配置健康資料匯出的外部系統。

概述

深度鏈接自動化使用自定義 URL 方案,無需在應用程式中手動逐項輸入即可創建並配置 REST API 自動化。打開深度鏈接 URL 時,應用程式會自動按指定配置創建新自動化。

適用場景:

  • 通過腳本或工具以編程方式設定自動化
  • 批量配置自動化
  • 與配置管理系統整合
  • 從外部應用程式或網站快速設定
  • 測試與開發流程

主要功能:

  • 通過 URL 方案創建自動化
  • 配置全部 REST API 自動化選項
  • 類型安全的參數校驗
  • 詳細的錯誤信息

限制

  • 深度鏈接僅支持 REST API 自動化(不支持 Dropbox、Google Drive 等)
  • URL 長度限制可能影響很長的參數列表
  • 適用 REST API 自動化的全部限制(背景處理、健康資料訪問等)

URL 格式

深度鏈接 URL 結構如下:

com.HealthExport://automation?parameter1=value1&parameter2=value2&...

基礎 URL: com.HealthExport://automation

參數:nameurl 外均為可選。參數名不區分大小寫。

參數説明

必填參數

url(必填)

  • 類型: 字符串(有效 URL)
  • 説明: 接收健康資料的端點 URL
  • 示例: https://api.example.com/health-data
  • 注意: 須為有效 HTTP/HTTPS URL

name(必填)

  • 類型: 字符串
  • 説明: 自動化的描述性名稱
  • 示例: My%20Backend%20API(URL 編碼後:My Backend API)
  • 注意: 含空格或特殊字符時需進行 URL 編碼

基本配置

format

  • 類型: 枚舉(jsoncsv
  • 默認: json
  • 説明: 資料匯出格式
  • 示例: format=jsonformat=csv
  • 注意: CSV 會自動啓用資料彙總

enabled

  • 類型: 布爾(truefalse10yesno
  • 默認: false
  • 説明: 創建後是否立即啓用自動化
  • 示例: enabled=true

datatype

  • 類型: 枚舉(見下文資料類型)
  • 默認: healthMetrics
  • 説明: 匯出的健康資料類型
  • 示例: datatype=workouts
  • 注意: 僅能選擇一種資料類型;設定後會自動配置相應的包含項。

有效資料類型:

  • healthMetrics — 健康指標(步數、心率、睡眠等)
  • workouts — 運動與健身活動
  • symptoms — 症狀與狀況
  • ecg — 心電圖記錄
  • heartRateNotification — 心率過高/過低事件
  • stateOfMind — 情緒與心理狀態(iOS 18.0+)
  • cycleTracking — 月經週期與生殖健康資料
  • medications — 用藥記錄與依從性(iOS 26.0+)

匯出設定

period

  • 類型: 枚舉
  • 默認: none
  • 説明: 資料匯出的日期範圍
  • 示例: period=today

有效值:

  • none — 默認(前一整日加當日)
  • lastsync — 自上次同步以來
  • today — 當天
  • yesterday — 前一天
  • previous7days — 過去 7 天
  • realtime — 實時更新(需秒級同步間隔)

interval

  • 類型: 枚舉
  • 默認: none
  • 説明: 時間分組/彙總間隔(僅當 datatype=healthMetrics 時有效)
  • 示例: interval=hours

有效值:

  • none — 默認(不彙總)
  • minutes — 按分鐘分組
  • hours — 按小時分組
  • days — 按日分組
  • weeks — 按周分組
  • months — 按月分組
  • years — 按年分組

注意: 僅在 datatype=healthMetrics 時有效。CSV 格式始終彙總資料。

aggregatedata

  • 類型: 布爾
  • 默認: CSV 為 true,JSON 為 false
  • 説明: 是否彙總資料(僅 JSON 且 healthMetrics 時有效)
  • 示例: aggregatedata=true
  • 注意: format=csv 時自動為 true

aggregatesleep

  • 類型: 布爾
  • 默認: true
  • 説明: 是否彙總睡眠資料
  • 示例: aggregatesleep=true

exportversion

  • 類型: 枚舉(v1v212
  • 默認: v2
  • 説明: 匯出格式版本
  • 示例: exportversion=v2
  • 注意: 版本 2 包含更豐富的運動資料與元資料

batchrequests

  • 類型: 布爾
  • 默認: false
  • 説明: 分多次請求批量發送資料(僅 JSON 且 REST API 時有效)
  • 示例: batchrequests=true
  • 注意: 僅在 format=jsonexportDestination=restApi 時有效

同步頻率

syncinterval

  • 類型: 枚舉
  • 默認: minutes
  • 説明: 同步節奏的時間單位
  • 示例: syncinterval=hours

有效值:

  • minutes — 每 N 分鐘
  • hours — 每 N 小時
  • days — 每 N 天
  • weeks — 每 N 周
  • seconds — 僅在 period=realtime 時有效

注意: 對 REST API 自動化,除非使用實時匯出,否則僅 minuteshoursdaysweeks 有效。

syncquantity

  • 類型: 正整數
  • 默認: 5
  • 説明: 同步間隔的倍數
  • 示例: syncquantity=10(若 syncinterval=minutes 則為每 10 分鐘)
  • 注意: 必須大於 0

HTTP 配置

headers

  • 類型: 字符串(逗號分隔的鍵值對)
  • 默認:
  • 説明: 用於身份驗證或元資料的 HTTP 標頭
  • 示例: headers=Authorization,Bearer%20token123,X-API-Key,abc123
  • 格式: key1,value1,key2,value2,...
  • 注意: 值需 URL 編碼。每個標頭需同時提供鍵和值。

標頭示例:

  • Authorization, Bearer your-token
  • X-API-Key, your-api-key
  • Content-Type, application/json

requesttimeout

  • 類型: 整數(60–86400)
  • 默認: 60
  • 説明: 請求超時(秒)
  • 示例: requesttimeout=300
  • 注意: 須在 60 至 86400 秒之間(1 分鐘至 24 小時)

按資料類型的設定

Health Metrics 設定

metrics
  • 類型: 字符串(逗號分隔的 MetricName 原始值)
  • 默認: 全部可用指標
  • 説明: 要包含的具體健康指標(僅 healthMetrics
  • 示例: metrics=Step%20Count,Heart%20Rate,Active%20Energy
  • 注意: 須使用準確的 MetricName 原始值。未指定則包含全部。

常見指標名稱:

  • Step Count
  • Heart Rate
  • Active Energy
  • Apple Exercise Time
  • Sleep Analysis
  • Walking + Running Distance

完整列表見應用程式內的指標選擇畫面。

Workout 設定

includeroutes
  • 類型: 布爾
  • 默認: true
  • 説明: 是否包含運動路線(僅 workouts
  • 示例: includeroutes=true
includeworkoutmetadata
  • 類型: 布爾
  • 默認: true
  • 説明: 是否包含運動期間採集的指標(僅 workouts
  • 示例: includeworkoutmetadata=true
workoutsmetadatainterval
  • 類型: 枚舉(minutesseconds
  • 默認: minutes
  • 説明: 運動指標的時間分組(僅 workouts 且匯出版本 v2)
  • 示例: workoutsmetadatainterval=seconds
  • 注意: 僅在 datatype=workoutsexportversion=v2 時有效
workouttypes
  • 類型: 字符串(逗號分隔的 UInt 值)
  • 默認: 空(全部運動類型)
  • 説明: 要包含的運動類型(僅 workouts
  • 示例: workouttypes=1,2,3
  • 注意: 使用 HealthKit 運動類型標識符

通知

notifyonupdate

  • 類型: 布爾
  • 默認: true
  • 説明: 緩存資料更新時是否通知
  • 示例: notifyonupdate=true

notifywhenrun

  • 類型: 布爾
  • 默認: true
  • 説明: 每次自動化執行時是否通知
  • 示例: notifywhenrun=false

示例

基本 REST API 自動化

com.HealthExport://automation?url=https://api.example.com/health&name=My%20Automation&format=json&enabled=true

創建向指定端點發送 JSON 資料的基本自動化。

帶身份驗證標頭

com.HealthExport://automation?url=https://api.example.com/health&name=Authenticated%20API&format=json&headers=Authorization,Bearer%20your-token-here,X-API-Key,abc123&enabled=true

創建帶自定義身份驗證標頭的自動化。

指定指標的 Health Metrics

com.HealthExport://automation?url=https://api.example.com/metrics&name=Steps%20and%20Heart%20Rate&format=json&datatype=healthMetrics&metrics=Step%20Count,Heart%20Rate&aggregatedata=true&interval=hours&enabled=true

僅匯出步數與心率,按小時彙總。

含路線資料的 Workouts

com.HealthExport://automation?url=https://api.example.com/workouts&name=Workout%20Export&format=json&datatype=workouts&includeroutes=true&includeworkoutmetadata=true&exportversion=v2&workoutsmetadatainterval=minutes&enabled=true

匯出運動及路線與運動指標,使用匯出版本 2。

完整配置示例

com.HealthExport://automation?url=https://api.example.com/health-data&name=Complete%20Configuration&format=json&datatype=healthMetrics&period=today&interval=hours&aggregatedata=true&aggregatesleep=true&exportversion=v2&syncinterval=hours&syncquantity=2&headers=Authorization,Bearer%20token123&requesttimeout=300&batchrequests=true&notifyonupdate=true&notifywhenrun=false&enabled=true

涵蓋主要參數的完整示例。

CSV 格式示例

com.HealthExport://automation?url=https://api.example.com/csv&name=CSV%20Export&format=csv&datatype=healthMetrics&period=yesterday&enabled=true

創建 CSV 匯出自動化。CSV 會自動啓用資料彙總。

URL 編碼

參數值中的特殊字符必須進行 URL 編碼。常見對應:

  • 空格:%20
  • 逗號:%2C
  • 冒號:%3A
  • 分號:%3B
  • 等號:%3D
  • 與號:%26
  • 加號:%2B

示例:

  • 原文:My Automation Name
  • 編碼:My%20Automation%20Name

標頭示例:

  • 原文:Authorization, Bearer token123
  • 編碼:Authorization,Bearer%20token123

多數編程語言與工具均提供 URL 編碼函數:

  • Swift:addingPercentEncoding(withAllowedCharacters:)
  • JavaScript:encodeURIComponent()
  • Python:urllib.parse.quote()

測試深度鏈接

在 Safari 中(iOS)

  1. 在 iOS 裝置上打開 Safari
  2. 在地址欄輸入深度鏈接 URL
  3. 輕點前往
  4. 應用程式應打開並創建自動化

在終端中(macOS / iOS 模擬器)

xcrun simctl openurl booted "com.HealthExport://automation?url=https://api.example.com/health&name=Test&enabled=true"

在 Xcode 中

設定斷點或使用調試器控制枱:

let url = URL(string: "com.HealthExport://automation?url=https://api.example.com/health&name=Test&enabled=true")!
try DataModel.shared.handleAPIDeepLink(url)

在“快捷指令”中

  1. 新建快捷指令
  2. 添加“打開 URL”操作
  3. 輸入深度鏈接 URL
  4. 執行快捷指令

故障排除

常見問題

“Could not parse the URL”

  • 確認 URL 方案為:com.HealthExport://automation
  • 確認參數值已正確 URL 編碼
  • 確認參數名拼寫正確(不區分大小寫)

“Invalid URL parameter value”

  • 確認 URL 為有效 HTTP/HTTPS
  • 檢查 URL 編碼
  • 確認 URL 中無非法字符

“Invalid data type”

  • 使用準確的資料類型值:healthMetricsworkoutssymptomsecgheartRateNotificationstateOfMindcycleTrackingmedications
  • 檢查拼寫(支持不區分大小寫匹配)

“Invalid sync cadence interval”

  • REST API 僅可使用:minuteshoursdaysweeks
  • 僅在 period=realtime 時使用 seconds

“Aggregation settings are only valid for healthMetrics data type”

  • aggregatedatainterval 僅在 datatype=healthMetrics 時有效
  • 刪除這些參數或更改資料類型

“Batch requests are only valid for REST API with JSON format”

  • batchrequests 僅在 format=json 時有效
  • 改為 JSON 或刪除該參數

“Workout settings are only valid for workouts data type”

  • includeroutesincludeworkoutmetadataworkoutsmetadatainterval 僅在 datatype=workouts 時有效
  • 更改資料類型或刪除這些參數

“Metrics parameter is only valid for healthMetrics data type”

  • metrics 僅在 datatype=healthMetrics 時有效
  • 更改資料類型或刪除該參數

“Invalid metric name”

  • 使用準確的 MetricName 原始值(如 “Step Count”、“Heart Rate”)
  • 檢查拼寫與大小寫
  • 在應用程式的指標選擇畫面查看有效名稱

“Invalid request timeout”

  • 須在 60 至 86400 秒之間

“A name is required for the automation”

  • 必須包含 name 參數
  • URL 解碼後值不能為空

URL 長度限制

極長的 URL(尤其包含大量指標或標頭)可能超過系統限制。可考慮:

  • metrics 中減少指標數量
  • 減少標頭數量
  • 在可能的情況下縮短參數值
  • 將複雜配置拆成多個較簡單的自動化

參數優先級

當多個參數衝突時:

  1. 資料類型選擇(datatype)會重置包含項
  2. CSV 格式(format=csv)會自動設定 aggregatedata=true
  3. 實時週期(period=realtime)需要 syncinterval=seconds
  4. 不兼容的組合會觸發校驗錯誤

最佳實踐

  1. 自動同步(通過深度鏈接觸發自動化時):

    • 為裝置充電並使用 iPhone 鏡像
      • 充電時 iOS 對性能限制較少,資料可更頻繁同步
      • 使用鏡像時裝置行為類似已解鎖,Health Auto Export 可訪問健康資料以執行自動化
  2. 含特殊字符的值務必進行 URL 編碼

  3. 先使用簡單 URL 測試,再逐步增加複雜度

  4. 使用便於識別的名稱

  5. 以編程方式生成鏈接前先驗證 URL

  6. 解析深度鏈接時妥善處理錯誤

  7. 若開發生成鏈接的工具,請文檔化格式

  8. 包含大量指標或標頭時注意 URL 長度

  9. 除模擬器外也在真機上測試

相關文檔

支援

若遇到本指南未涵蓋的問題:

  1. 根據錯誤信息排查具體參數
  2. 確認 URL 編碼正確
  3. 先使用最短 URL 測試
  4. 使用應用程式內的 Chat Support 獲取幫助