首页
/ 解决running_page项目中Keep骑行数据无法生成GPX文件的问题

解决running_page项目中Keep骑行数据无法生成GPX文件的问题

2025-06-17 20:00:31作者:胡易黎Nicole

在running_page项目中,用户经常遇到无法从Keep导出骑行数据生成GPX文件的问题。本文将深入分析该问题的原因,并提供完整的解决方案。

问题背景

running_page是一个用于同步和可视化运动数据的开源项目,支持从Keep等平台导入数据。许多用户反馈,虽然跑步数据可以正常生成GPX文件,但骑行数据却无法导出。

根本原因分析

经过技术排查,发现项目中存在一个硬编码的过滤条件,导致只有户外跑步(outdoorRunning)类型的数据才会被处理生成GPX文件。这一限制使得骑行数据被系统自动过滤掉了。

解决方案

要解决这个问题,需要进行以下步骤:

  1. 首先修改API端点配置,确保请求的是骑行数据而非跑步数据:
LOGIN_API = "https://api.gotokeep.com/v1.1/users/login"
RUN_DATA_API = "https://api.gotokeep.com/pd/v3/stats/detail?dateUnit=all&type=cycling&lastDate={last_date}"
RUN_LOG_API = "https://api.gotokeep.com/pd/v3/cyclinglog/{run_id}"
  1. 在代码中找到并移除硬编码的跑步类型检查条件:
# 移除或注释掉以下过滤条件
and run_data["dataType"] == "outdoorRunning"
  1. 清理缓存数据:
rm imported.json
rm run_page/data.db
  1. 重新执行同步命令:
python3 run_page/keep_sync.py ${your_mobile} ${your_password} --with-gpx

技术原理

GPX文件生成的核心逻辑依赖于从运动平台API获取的轨迹数据。Keep平台对不同类型的运动数据使用了不同的API端点和数据结构标识。项目最初只考虑了跑步场景,因此在代码中加入了类型检查,这导致骑行数据无法通过验证。

注意事项

  1. 确保你的Keep账户中确实有骑行记录
  2. 修改代码前建议备份原文件
  3. 如果同步后仍无数据,可以检查终端输出是否有错误信息
  4. 不同运动类型的数据结构可能略有差异,如果遇到解析问题需要相应调整

总结

通过修改API配置和移除类型限制,可以成功导出Keep骑行数据为GPX格式。这个解决方案不仅适用于骑行数据,也为项目支持其他运动类型提供了思路。理解数据结构和过滤条件是解决此类问题的关键。

登录后查看全文
热门项目推荐

热门内容推荐

最新内容推荐

项目优选

收起
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
156
2 K
kernelkernel
deepin linux kernel
C
22
6
pytorchpytorch
Ascend Extension for PyTorch
Python
38
72
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
519
50
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
942
555
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
195
279
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
993
396
communitycommunity
本项目是CANN开源社区的核心管理仓库,包含社区的治理章程、治理组织、通用操作指引及流程规范等基础信息
359
12
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
146
191
金融AI编程实战金融AI编程实战
为非计算机科班出身 (例如财经类高校金融学院) 同学量身定制,新手友好,让学生以亲身实践开源开发的方式,学会使用计算机自动化自己的科研/创新工作。案例以量化投资为主线,涉及 Bash、Python、SQL、BI、AI 等全技术栈,培养面向未来的数智化人才 (如数据工程师、数据分析师、数据科学家、数据决策者、量化投资人)。
Python
75
71