strava-python

🏃 交互式 Strava 运动数据管家

🥥58总安装量 15评分人数 17
100% 的用户推荐

基于成熟 stravalib 库的 Strava 数据查询工具,通过交互式向导完成 OAuth 认证,安全便捷地获取个人运动活动与统计数据。

A

基本安全,请在特定环境下使用

  • 来自社区或个人来源,建议先隔离验证
  • ✅ 无危险代码执行函数(eval/exec/system/subprocess),代码安全规范
  • ✅ 敏感凭据仅本地存储,无静默上传第三方服务器行为
  • ✅ 依赖 stravalib 成熟可靠,无动态代码加载或远程脚本获取
  • ⚠️ 来源为 T3 级社区组织,虽代码透明可审计,但缺乏知名企业背书
  • ⚠️ 需用户手动配置 API 凭据,存在配置不当导致的安全风险

使用说明

核心用法

strava-python 是一款面向 Strava 运动数据查询的 Python 技能,通过 OpenClaw 平台提供交互式数据获取能力。用户需先运行 setup.py 完成 Strava API 应用的创建与 OAuth 认证流程,凭据自动保存至本地 ~/.strava_credentials.json。核心功能通过 strava_control.py 实现,支持三类查询::recent 获取近期活动列表、、stats 输出周/月度统计、、last 查看最近一条运动记录。整个流程无需手动编辑 JSON 配置文件,降低了非技术用户的使用门槛。

显著优点

交互式配置体验:相比同类基于 curl 的技能需要手动配置 API 密钥,本技能提供完整的向导式 setup 脚本,自动引导用户完成 Strava 开发者应用注册、授权回调设置和令牌获取,显著降低配置错误率。

依赖成熟可靠:核心依赖 stravalib 是 Strava 官方认可的 Python SDK,社区维护活跃、文档完善,API 封装规范,避免了直接处理 HTTP 请求和 OAuth 流程的复杂性。

数据本地化存储:用户敏感凭据(access_token、refresh_token、client_secret)仅保存在用户主目录的本地 JSON 文件,无云端上传或第三方服务器交互,隐私可控性强。

权限申请透明:SKILL.md 明确声明所需权限范围(read、activity:read_all 等),与只读查询功能完全匹配,无过度授权风险。

潜在缺点与局限性

来源可信度限制:作为 openclaw 社区组织的 T3 级贡献,缺乏知名企业或基金会的背书,对来源可信度要求极高的企业环境可能不适用。

API 速率限制约束:Strava 官方限制 100 请求/15 分钟、1000 请求/天,无法满足大规模数据抓取或高频实时监控场景。

功能只读受限:当前仅支持查询操作,无法创建、修改或删除活动,对于需要数据回写的自动化工作流不适用。

Python 环境依赖:要求预装 Python 3.7+ 和 pip 包管理器,在部分精简环境或容器化部署中可能增加配置成本。

适合的目标群体

  • 个人运动爱好者:希望快速通过自然语言查询自己的 Strava 数据,无需学习 API 文档
  • 健身数据分析师:需要定期导出运动统计进行个人表现追踪
  • OpenClaw/Claude 生态用户:寻求与 AI 助手集成的运动数据交互方案
  • 轻量级开发者:需要基于 Strava 数据构建个人自动化工具,但不愿从零处理 OAuth 流程

使用风险

凭据泄露风险~/.strava_credentials.json 包含完整 API 访问令牌,若文件权限配置不当或在共享环境使用,可能导致账户数据被未授权访问。建议手动设置 600 权限并避免版本控制提交。

令牌失效处理:Strava access_token 每 6 小时过期,依赖 refresh_token 自动续期。若长期未使用导致 refresh_token 失效,需重新运行 setup 流程。

外部依赖变更:stravalib 库若发布不兼容更新,可能影响功能稳定性。建议通过 requirements.txt 锁定版本。

网络可用性依赖:所有数据查询依赖 Strava 官方 API 服务可用性,无法离线使用。

strava-python 内容

手动下载zip · 5.4 kB
CHANGELOG.mdtext/markdown
请选择文件