将 Apple Health 数据同步到 REST API

将健康数据发送到 REST API 端点。

Last updated: February 6, 2026

On this page

REST API 自动化允许您自动将健康数据导出到接受 HTTP POST 请求的任何 Web 服务。这对于与自定义后端、第三方 API 或 Webhook 集成非常理想。

概述

REST API 自动化使用 HTTP POST 请求将您的健康数据发送到指定的 URL 端点。自动化可以以 JSON 或 CSV 格式发送数据,具有用于身份验证和自定义元数据的可配置标头。

使用场景:

  • 与自定义后端服务集成
  • 向 Webhook 发送数据
  • 与第三方 API 同步
  • 构建自定义仪表板或分析平台

主要功能:

  • 支持 JSON 和 CSV 格式
  • 用于身份验证的自定义 HTTP 标头
  • 可配置的请求超时
  • 手动导出历史数据

限制

  • 健康数据访问: 当 iPhone 锁定时,应用不允许访问健康数据。自动化只会在设备解锁期间运行。这可能会影响数据的新鲜度。请参阅手动同步说明以保持数据最新。

  • 后台处理: iOS 限制后台处理以保持电池寿命。自动化依赖于后台应用刷新,在以下情况下可能不会立即运行:

    • 应用的后台应用刷新已禁用
    • 设备处于低电量模式
    • 设备长时间处于非活动状态
    • 系统资源受限
    • 多个应用竞争后台执行时间

先决条件

  • 接受 HTTP POST 请求的有效 URL 端点
  • 身份验证凭据(如果您的端点需要)
  • 到达您的端点的网络连接

配置

从主导航导航到自动导出屏幕,然后点击"新建自动化"并选择"REST API"作为自动化类型。

自动化名称

为您的自动化输入描述性名称(例如,"我的后端 API"、"Webhook 集成")。

通知

配置何时接收通知:

  • 缓存更新时通知 - 当缓存数据更新时接收通知
  • 运行时通知 - 每次自动化执行时接收通知

URL 配置

输入您要发送健康数据的完整 URL。这应该是包含协议(http:// 或 https://)的完整 URL。

URL 示例:

  • https://api.example.com/health-data
  • https://webhook.site/your-unique-id
  • http://localhost:3000/api/health

注意: URL 必须有效且可从您的设备访问。无效的 URL 将阻止自动化运行。

请求超时

选择 HTTP 请求的超时间隔。这决定了应用在认为请求失败之前等待响应的时间。

HTTP 标头

添加用于身份验证或元数据的自定义 HTTP 标头。常见用例包括:

  • API 密钥: X-API-Key: your-api-key
  • 授权令牌: Authorization: Bearer your-token
  • 内容类型覆盖: Content-Type: application/json

要添加标头:

  1. 点击"添加标头"
  2. 在左侧字段中输入标头键
  3. 在右侧字段中输入标头值
  4. 为其他标头重复

重要: 每个标头键必须具有相应的值。空标头将被忽略。

数据类型设置

数据类型

选择要导出的健康数据类型:

  • 健康指标 - 步数、心率、睡眠和其他健康测量值
  • 锻炼 - 运动和健身活动
  • 症状 - 健康症状和状况
  • 心电图 - 心电图读数
  • 心率通知 - 高/低心率事件
  • 心理状态 - 情绪和心理状态条目(iOS 18.0+)
  • 周期跟踪 - 月经周期和生殖健康数据
  • 药物 - 药物日志和依从性(iOS 26.0+)

健康指标配置

选择健康指标时:

选择健康指标 - 选择要包含的特定指标。您可以选择所有可用指标或选择特定指标。

提示: 仅选择您需要的指标可以改善处理时间并减少数据大小。

首选来源 - 配置当多个来源提供相同指标时哪些数据源具有优先级。

锻炼配置

选择锻炼时:

包含路线数据 - 打开以包含具有位置数据的锻炼路线。

包含锻炼指标 - 打开以包含锻炼期间收集的健康指标(心率、卡路里等)。

时间分组(锻炼指标) - 使用导出版本 2 且启用包含锻炼指标时:

  • 分钟 - 按分钟分组锻炼指标
  • - 按秒分组锻炼指标

导出设置

导出格式

选择导出数据的格式:

  • JSON 格式 - 提供具有嵌套对象的详细数据结构。最适合需要结构化数据的 API、数据库和应用程序。JSON 格式包含更复杂数据类型(如睡眠阶段和 AFib 读数)的详细信息。

  • CSV 格式 - 提供可轻松导入电子表格应用程序的表格数据。最适合简单数据分析或您的端点期望 CSV 数据时。

注意: Content-Type 标头对于 JSON 导出自动设置为 application/json,对于 CSV 导出设置为 multipart/form-data

导出版本

选择导出版本。版本控制允许您以自己的节奏在导出的更新版本之间转换,并最大程度地减少破坏工作流的更改。

  • 版本 1 - 旧格式,如果您有依赖此格式的现有工作流,请使用
  • 版本 2 - 具有增强的锻炼数据和更详细的元数据选项的当前格式

日期范围

选择何时导出数据:

  • 默认 - 同步前一天的完整数据加上到当前日期和时间的数据
  • 自上次同步 - 每次同步时,导出自上次运行导出到当前日期和时间的所有数据
  • 今天 - 同步当前日期到当前时间的所有数据
  • 昨天 - 同步前一天的完整所有数据
  • 过去 7 天 - 同步过去七天的完整数据

汇总数据

使用健康指标数据类型和 JSON 格式时,打开或关闭汇总数据。

  • 开启 - 提供聚合的数据摘要
  • 关闭 - 尽可能提供非聚合数据,显示单个数据点

注意: 此设置仅适用于具有健康指标的 JSON 格式。使用 CSV 格式或选择多个指标时,数据始终会被聚合。

时间分组

使用启用汇总数据的 JSON 格式时,选择应如何聚合数据。

注意: CSV 格式始终聚合数据。分钟和秒级别的聚合可能会显著增加处理时间和数据大小。

批量请求

使用 JSON 格式时,打开批量请求以通过多个请求批量发送数据,而不是单个有效负载。

  • 开启 - 将数据分散到多个请求中以避免过大的有效负载
  • 关闭 - 在单个请求中发送所有数据

同步频率

配置自动化应多久上传一次数据:

选择一个数字和间隔。

测试和验证

手动测试

  1. 在自动化配置屏幕中点击"手动导出"
  2. 选择日期范围
  3. 点击"导出"以发送测试请求
  4. 检查您的端点以确认数据已接收

查看活动日志

  1. 在自动化配置屏幕中点击"查看活动日志"
  2. 查看最近的自动化运行
  3. 检查是否有错误或警告
  4. 验证请求时间戳和响应状态

验证数据格式

应用会自动在每个请求中包含以下标头:

  • Content-Type - 根据导出格式设置
  • automation-name - 您的自动化名称
  • automation-id - 自动化的唯一标识符
  • automation-aggregation - 所选的时间分组
  • automation-period - 所选的日期范围
  • session-id - 每个请求的唯一标识符

故障排除

常见问题

端点未收到数据

  • 验证端点 URL 是否正确
  • 检查您的端点是否接受 POST 请求
  • 查看身份验证标头
  • 检查端点的传入请求日志
  • 验证网络连接

提示和最佳实践

  1. 性能:

    • 使用适当的时间分组来平衡详细信息与数据大小
    • 仅选择您需要的指标
  2. 可靠性:

    • 根据端点的响应时间设置适当的超时值
    • 定期监控活动日志
  3. 数据格式:

    • 对结构化数据和 API 使用 JSON
    • 对简单数据分析或电子表格集成使用 CSV
    • 考虑对大型数据集或单独处理使用批量请求