首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >用 WorkBuddy 自动同步佳明(Garmin)跑步数据到 Excel,每天微信推送

用 WorkBuddy 自动同步佳明(Garmin)跑步数据到 Excel,每天微信推送

原创
作者头像
养码青年
发布于 2026-09-20 15:12:24
发布于 2026-09-20 15:12:24
1810
举报

标签:#WorkBuddy# | 分类建议:人工智能 / 办公工具

一、写在前面:跑者的数据焦虑

我平时跑步,手腕上戴的是佳明(Garmin)手表。佳明 App 里的图表确实好看,但有两个痛点一直让我难受:

  1. 数据不归我。想做长期趋势分析、按月对比跑量、把心率/配速/训练负荷拉出来自己画表,佳明官方导出的 CSV 又碎又乱。
  2. 每天手动记太累。坚持记录的前提是「零成本」,一旦要每天打开 App 手抄,第三天就放弃了。

后来我用 WorkBuddy 把这件事彻底自动化了:每天上午 9 点,自动从佳明中国区账号拉取前一天的跑步数据,追加写入本地 Excel,再通过微信推送一条汇总。全程不用我点一下。这篇文章把完整方案、代码和坑点都交出来。

二、方案总览

整个链路很简单,不需要服务器,本地笔记本跑就行:

核心就三件事:

  1. 用 garminconnect 库登录中国区账号拉数据;
  2. 用 openpyxl 把每天跑步记录追加进 Excel;
  3. 用 WorkBuddy 的「自动化」功能,配一个每天 9:00 的定时任务,跑完微信通知我。

三、环境准备

  • Python 3.10+
  • 安装依赖:
  • 一个佳明中国区账号(手机号注册,登录域名是 connect.garmin.cn)
  • 一个微信推送入口:企业微信群机器人 Webhook,或用 Server 酱,二选一

四、关键坑:中国区必须设 GARMIN_IS_CN

这是全网教程最容易翻车的地方。绝大多数英文/国际博客用的是国际版 Garmin(connect.garmin.com),直接套用会登录失败或被验证码拦截。

中国区要把域名切到 connect.garmin.cn,garminconnect 库通过环境变量 GARMIN_IS_CN=1 切换。务必在 import 之后、登录之前设置好。

五、同步脚本 garmin-sync.py

下面是可用的完整脚本。我把凭据全部走环境变量,绝不写死在代码里。

把账号密码写进 .env(或系统环境变量),例如:

六、配置 WorkBuddy 自动化

打开 WorkBuddy,新建一个每天 09:00 的自动化,prompt 就写:

运行 python garmin-sync.py 同步佳明跑步数据到 Excel,并在完成后微信通知我结果。

WorkBuddy 会在每天指定时间自动拉起脚本。你完全不用管,醒来微信里就有一条昨日跑步汇总。

七、效果与数据样例

跑了一个月后,running_log.xlsx 长这样:

日期

时间

距离(km)

时长(min)

平均心率

配速(km/h)

训练负荷

2026-09-01

06:42

8.02

52.3

148

9.2

62

2026-09-03

06:38

5.10

31.8

151

9.6

41

2026-09-05

07:01

13.4

88.1

146

9.1

98

有了这张表,月跑量、配速趋势、心率区间分布都能自己用 Excel 透视表随手拉出来,再也不用被官方 App 的图表框死。

八、踩坑清单(建议收藏)

  1. 中国区必须 GARMIN_IS_CN=1,否则连国际版,登录直接失败。
  2. token 缓存 .garth 不要提交到 Git,里面是登录态,泄露有风险;在 .gitignore 里加一行。
  3. 库版本用 garminconnect==0.3.11,新版部分 API 路径有变动,老教程的写法会 404。
  4. 别每次都重新登录:佳明对频繁登录会弹验证码。靠 login() 后的 token 缓存机制,平时基本不触发。
  5. Excel 别并发写:如果多个自动化同时跑,给文件加个简单的文件锁或错峰执行,避免 xlsx 损坏。
  6. 凭据放 .env,脚本里只 os.getenv,方便分享也不泄露账号。

九、小结

这套方案的核心是「一次配置,长期躺平」:WorkBuddy 负责定时编排,Python 负责拉数写表,微信负责把结果推到你眼前。对跑步、骑行、徒步这类需要长期记录运动数据的场景都通用,把脚本里的 typeKey 过滤条件换一下就能复用。

如果你也在用佳明,又受够了手动记数据,照着上面的代码搭一遍,半小时就能跑通。有问题欢迎在评论区交流。


本文基于作者真实部署环境整理,所有账号信息均通过环境变量注入,未硬编码任何凭据。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、写在前面:跑者的数据焦虑
  • 二、方案总览
  • 三、环境准备
  • 四、关键坑:中国区必须设 GARMIN_IS_CN
  • 五、同步脚本 garmin-sync.py
  • 六、配置 WorkBuddy 自动化
  • 七、效果与数据样例
  • 八、踩坑清单(建议收藏)
  • 九、小结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档