Garmin 中国区活动同步到国际区的一个简单实现方案

一、背景

使用佳明(Garmin)国行账号时,会遇到一个比较常见的问题:
中国区账号无法直接与 Strava等国际平台进行官方同步。

这会导致运动数据被分散在不同生态中:

  • 中国区 Garmin Connect

  • 国际区 Garmin Connect

  • Strava 等第三方平台

如果希望后续统一使用国际区账号与第三方平台同步,就需要一种方式:

👉 将中国区账号中的活动记录同步到国际区账号。

目前已经有开源项目(如 dailysync)实现了这一思路。

在参考其实现方式后,正巧最近AI变成比较火,自己用AI实现了一个更轻量的脚本版本,用于完成最核心的同步功能。

项目地址:
https://github.com/hh997y/hh997y-garmin_sync_python


二、总体思路

该项目的目标非常明确:
只做一件事:将 Garmin 中国区账号的活动记录,同步到 Garmin 国际区账号。

整体流程如下:

  1. 使用中国区账号登录 Garmin Connect 接口

  2. 获取最近的活动列表并下载对应的 .fit 文件

  3. 使用国际区账号登录上传接口

  4. 将下载的活动文件上传至国际区账号

  5. 对已同步过的活动进行记录,避免重复上传

同步完成后,即可使用 Garmin 国际区账号与 Strava 等平台进行官方同步。


三、功能特性

目前实现的主要功能包括:

  • 支持从中国区账号下载活动记录(fit 文件)

  • 支持将活动文件上传到国际区账号

  • 已上传活动记录缓存,避免重复同步

  • 支持多种运行模式:

    • download_only:仅下载活动

    • upload_only:仅上传本地活动文件

    • full:下载 + 上传

  • 支持两种登录方式:

    • 使用已有 session cookie

    • 使用 Playwright 自动登录获取 cookie


四、与现有方案的关系

该项目的实现思路参考了开源项目:

相比之下,本项目的特点是:

  • 数据安全,不用对外提供佳明账号密码

  • 功能更简单聚焦,仅处理活动记录同步

  • 不包含完整的 Web UI 或数据库

  • 更偏向脚本工具形态,便于按需运行或二次开发

对于希望快速获得完整解决方案的用户,dailysync 是一个成熟方案;

对于希望理解原理或进行定制化处理的用户,可以参考本项目的实现方式。


五、使用门槛与适用人群

该项目并非面向普通终端用户,而是更适合以下人群:

  • 熟悉 Python 基本使用方式

  • 能够修改配置文件(YAML)

  • 能理解 Cookie / Session 的基本概念

  • 能自行排查运行中的报错信息

不建议以下场景使用:

  • 完全不接触命令行或代码环境的用户

  • 期望一键图形界面操作的用户


六、项目结构说明

项目主要结构如下:

  • run.py:程序入口

  • config.yaml:配置文件(账号登录方式、同步模式等)

  • src/garmin_sync/:核心同步逻辑

  • state/uploaded.json:已同步活动记录缓存

程序通过读取 config.yaml 控制运行模式与认证方式。


七、实现初衷

实现该项目的主要动机包括:

  • 避免手动导出 / 导入 .fit 文件

  • 解决国区与国际区数据割裂的问题

  • 便于后续通过国际区账号与 Strava 等平台进行统一同步

  • 学习与实践 Garmin Connect 接口相关调用逻辑


八、项目地址

项目仓库地址:

👉 https://github.com/hh997y/hh997y-garmin_sync_python

仓库 README 中包含:

  • 配置说明

  • 登录方式示例

  • 常见运行模式

  • 已同步缓存机制说明

可根据自身需求进行二次开发或调整。

相关推荐
七夜zippoe2 小时前
Python网络编程实战:从TCP/IP到WebSocket的协议演进与核心技术解析
网络·python·websocket·tcp/ip·socket·心跳机制
GG向前冲2 小时前
【Python 金融量化】线性模型在AAPL股票数据的分析研究
大数据·python·机器学习·ai·金融
程序猿20232 小时前
Java Thread
java·开发语言·python
喵手2 小时前
Python爬虫零基础入门【第九章:实战项目教学·第8节】可观测性:日志规范 + trace_id + 可复现错误包!
爬虫·python·日志规范·python爬虫实战·python爬虫工程化实战·python爬虫零基础入门·可复性错误包
嫂子开门我是_我哥2 小时前
第五节:字符串处理大全:文本操作的“万能工具箱”
开发语言·python
独行soc2 小时前
2026年渗透测试面试题总结-10(题目+回答)
android·网络·python·安全·web安全·渗透测试·安全狮
aiguangyuan2 小时前
词向量的艺术:从Word2Vec到GloVe的完整实践指南
人工智能·python·nlp
嫂子的姐夫2 小时前
24-MD5:红人点集登录+凡客网登录
爬虫·python·逆向·小白逆向练手
不绝1912 小时前
MonoBehavior/GameObject/Time/Transform/位移/角度旋转/缩放看向/坐标转换
开发语言·python