☰
如何配置Open Wearables支持Garmin、Oura、Fitbit等第三方平台:完整OAuth凭证设置指南
2026/10/3 7:38:10 网站建设 项目流程

如何配置Open Wearables支持Garmin、Oura、Fitbit等第三方平台:完整OAuth凭证设置指南

【免费下载链接】open-wearablesSelf-hosted platform to unify wearable health data through one AI-ready API.项目地址: https://gitcode.com/gh_mirrors/op/open-wearables

Open Wearables 是一个可自托管的穿戴设备健康数据统一平台,通过一套 AI-ready API 聚合 Garmin、Oura、Fitbit、Whoop、Strava 等平台的睡眠、运动、心率数据。想让这些数据流进自己的系统?关键在于正确配置各家平台的OAuth 凭证(Client ID / Client Secret)。本指南将带你从零完成第三方平台接入,涵盖 Garmin、Oura、Fitbit 三个典型平台的申请流程、.env环境变量填写、回调地址配置,以及连接验证与常见报错排查,帮助新手快速打通整条数据链路。

配置前先看:三大平台的接入难度差异

在动手之前,先了解各平台的"门槛",这决定了你的配置顺序:

平台申请难度账号要求数据同步方式
Garmin⚠️ 高:开发者计划目前暂停注册,且仅面向企业需以法人实体(公司/机构)申请仅 Webhook 推送
Oura✅ 低:个人 Oura 账号即可与 Oura App 同一账号轮询 + Webhook(推荐 Webhook)
Fitbit✅ 低:任意免费 Fitbit 账号无特殊权限要求仅轮询拉取

💡新手建议:先用 Oura 或 Fitbit 跑通完整流程,再申请 Garmin。另外注意,Fitbit Web API 计划于 2026 年 9 月停用,新数据建议通过 Google Health 集成获取。

各平台的完整接入文档:docs/providers/garmin-api-integration.mdx、docs/providers/oura-api-integration.mdx、docs/providers/fitbit-api-integration.mdx。

第一步:在各平台开发者门户注册 OAuth 应用

所有平台的核心产物都是两样东西:Client ID和Client Secret。

Garmin 开发者计划(企业专属)

Garmin 是三者中门槛最高的:

  1. 必须以公司/机构身份申请(个人申请会被拒绝),建议使用公司域名邮箱
  2. 准备好公开网站和隐私政策页面链接
  3. 审核通过后在开发者门户创建Evaluation 类型应用,即可获得 Client ID + Client Secret
  4. 在 API Tools 中启用端点,并将推送地址统一设置为 Open Wearables 的 Webhook 端点/api/v1/garmin/webhooks/push

⚠️重要提醒:Garmin 开发者计划目前处于暂停状态,无法创建新账号,已有账号可正常使用。

Oura 开发者门户(个人账号即可)

  1. 用个人 Oura 账号登录开发者门户,点击Create New
  2. 填写应用名称、联系方式、隐私政策,重点填写Redirect URIs(见下文"回调地址"章节)
  3. 勾选所需数据权限(Scopes),创建后在应用详情页获取Client ID和Client Secret

Fitbit 开发者中心(免费快速)

  1. 直接用 Fitbit 账号登录开发者中心
  2. 注册新应用,选择应用类型为Personal(开发测试)或Server(生产)
  3. 设置 Redirect URL 并注册,详情页即展示Client ID和Client Secret

第二步:在 .env 文件中填写 OAuth 凭证

拿到凭证后,将它们填入 Open Wearables 后端的环境变量文件backend/config/.env(可参考模板 backend/config/.env.example)。三个平台的核心配置如下:

#--- 公开 API 地址(所有 OAuth 回调地址都由它推导,务必设置正确)---# API_BASE_URL=https://your-domain.com #--- Garmin ---# GARMIN_CLIENT_ID=your-garmin-client-id GARMIN_CLIENT_SECRET=your-garmin-client-secret #--- Oura ---# OURA_CLIENT_ID=your-oura-client-id OURA_CLIENT_SECRET=your-oura-client-secret OURA_DEFAULT_SCOPE=personal daily heartrate workout session spo2 ring_configuration heart_health #--- Fitbit ---# FITBIT_CLIENT_ID=your-fitbit-client-id FITBIT_CLIENT_SECRET=your-fitbit-client-secret FITBIT_DEFAULT_SCOPE=activity heartrate sleep profile

配置要点说明:

  • *_CLIENT_ID/*_CLIENT_SECRET:直接填门户中获取的凭证。Secret 等同密码,切勿写进代码仓库或日志
  • *_DEFAULT_SCOPE:控制 OAuth 授权时向用户申请的权限范围,按需精简可减少授权页面的权限列表
  • 完整的变量定义与校验逻辑可查阅 backend/app/config.py

关键细节:API_BASE_URL 与 OAuth 回调地址

这是新手踩坑率最高的一步。Open Wearables 的 OAuth 回调地址统一由API_BASE_URL自动推导,格式为:

{API_BASE_URL}/api/v1/oauth/{平台名}/callback

例如API_BASE_URL=https://your-domain.com时,Oura 的回调地址就是https://your-domain.com/api/v1/oauth/oura/callback。

必须保证三处完全一致:

  1. Open Wearables 的API_BASE_URL
  2. 各平台开发者门户中注册的 Redirect URI
  3. 服务器实际可访问的公网地址

🔑本地开发怎么办?部分平台(如 Oura)要求回调地址必须是公网 HTTPS。此时可用 ngrok 等隧道工具将本地服务暴露到公网,把 ngrok 地址同时填入API_BASE_URL和各平台门户,参考文档 docs/dev-guides/ngrok-setup.mdx。

启动服务并验证连接

配置完成后,用 Docker Compose 一键启动(PostgreSQL、Redis、后端 API、Celery 全部拉起):

git clone https://gitcode.com/gh_mirrors/op/open-wearables cd open-wearables docker compose up -d

启动后访问:

  • 🌐 API 服务:http://localhost:8000
  • 🔐 开发者门户:http://localhost:3000(登录后可生成 API Key 并在Settings → Providers中管理各平台的实时同步模式)

用户完成一次 OAuth 授权后,可通过接口查询连接状态:

curl http://localhost:8000/api/v1/users/{user_id}/connections \ -H "X-Open-Wearables-API-Key: YOUR_API_KEY"

看到"status": "active"的记录即代表该平台连接成功,数据会自动开始同步。

常见问题排查清单

现象可能原因解决方法
授权页面报"redirect_uri 不匹配"门户注册地址与API_BASE_URL推导值不一致以API_BASE_URL推导结果为准,更新门户中的 Redirect URI
Oura 回调 404 / 无法完成授权本地用了http://localhost(要求公网 HTTPS)用 ngrok 暴露服务并同步更新门户地址
Garmin 数据始终不进来API Tools 中端点未启用,或推送地址未指向 Webhook 端点启用所有端点并统一配置 push 地址
列表接口显示某平台被禁用未配置对应 Client 凭证补齐.env中该平台的*_CLIENT_ID/*_CLIENT_SECRET后重启

总结

配置 Open Wearables 接入第三方平台的完整路径可以概括为四步:申请开发者资质 → 注册 OAuth 应用获取凭证 → 在.env中填写凭证与API_BASE_URL→ 启动并验证连接。各平台的差异化细节(如 Garmin 的企业申请、Oura 的 Webhook 实时模式)建议在动手前通读对应文档:

  • 支持的全部平台列表:docs/providers/supported.mdx
  • 各平台同步参数指南:docs/api-reference/guides/provider-setup.mdx
  • 快速上手总览:docs/quickstart.mdx

跑通第一个平台后,其余平台的配置基本如法炮制——剩下的时间,就可以把统一的 AI-ready 健康数据接入你的应用了 🚀

【免费下载链接】open-wearablesSelf-hosted platform to unify wearable health data through one AI-ready API.项目地址: https://gitcode.com/gh_mirrors/op/open-wearables

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询