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 中包含:

  • 配置说明

  • 登录方式示例

  • 常见运行模式

  • 已同步缓存机制说明

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

相关推荐
曲辕RPA6 分钟前
深度解析GEO技术及背后的机器人曲辕RPA
python·ai·自动化·rpa
2301_7644413312 分钟前
使用python构建的STAR实验ΛΛ̄自旋关联完整仿真
开发语言·python·算法
xifangge202517 分钟前
Python 爬虫实战:爬取豆瓣电影 Top250 数据并进行可视化分析
开发语言·爬虫·python
Flittly22 分钟前
【从零手写 ClaudeCode:learn-claude-code 项目实战笔记】(10)Team Protocols (团队协议)
笔记·python·ai·ai编程
阿_旭22 分钟前
基于YOLO26深度学习的蓝莓成熟度检测与分割系统【python源码+Pyqt5界面+数据集+训练代码】图像分割、人工智能
人工智能·python·深度学习·毕业设计·蓝莓成熟度检测
lxmyzzs25 分钟前
使用Python分析COCO数据集标注信息:一个简单脚本实现统计与可视化
python·深度学习·目标检测·计算机视觉
wertyuytrewm26 分钟前
自动化与脚本
jvm·数据库·python
Web极客码29 分钟前
OpenAI GPT-5.2-Codex (High) vs. Claude Opus 4.5 vs. Gemini 3 Pro:真实场景编程大横评
ai编程·claude code·claude skill·openclaw
qq_4176950531 分钟前
Python深度学习入门:TensorFlow 2.0/Keras实战
jvm·数据库·python
小程故事多_8032 分钟前
重构 RAG 质量标准,一套可落地、可量化的全维度评估框架
人工智能·重构·aigc·ai编程·rag