Strava运动数据获取

12分钟前更新 1 00
Strava运动数据获取Strava运动数据获取
Strava运动数据获取

技能简介

本技能通过Strava API连接运动社交平台,获取个人活动记录、运动统计数据及详细训练信息。支持跑步、骑行、游泳等多种运动类型的数据查询与分析。

业务背景

Strava运动数据获取技能帮助健身机构、运动品牌或健康管理平台接入用户授权的运动数据,实现训练记录自动化采集与个性化服务。无需用户手动录入,即可基于真实运动表现提供课程推荐、装备建议或健康干预方案。

落地案例:一家在线跑步教练平台引导用户完成Strava账号授权后,系统自动拉取用户近90天的活动记录,分析其平均配速、心率区间分布及周跑量变化趋势。教练据此发现该用户有氧基础薄弱但近期强度突增,及时调整训练计划,避免过度训练风险,同时推送适合的缓震跑鞋选购指南。

能做什么

  • 列出近期运动活动(支持分页与数量控制)
  • 按日期范围筛选历史活动
  • 获取单次活动的完整详情(距离、时长、心率、爬升等)
  • 查询运动员个人资料与累计统计
  • 自动刷新访问令牌以维持长期连接

使用说明

前置准备

  1. 访问 Strava API设置页 创建应用,回调地址填 http://localhost
  2. 记录生成的 Client ID 和 Client Secret
  3. 浏览器访问授权URL(替换CLIENT_ID):
    https://www.strava.com/oauth/authorize?client_id=CLIENT_ID&response_type=code&redirect_uri=http://localhost&approval_prompt=force&scope=activity:read_all
  4. 授权后从跳转地址提取 AUTHORIZATION_CODE
  5. 执行curl命令换取令牌:
    curl -X POST https://www.strava.com/oauth/token \
      -d client_id=YOUR_CLIENT_ID \
      -d client_secret=YOUR_SECRET \
      -d code=AUTHORIZATION_CODE \
      -d grant_type=authorization_code

安装配置

将以下环境变量添加到系统或clawdbot配置文件:

export STRAVA_ACCESS_TOKEN="your-access-token"
export STRAVA_REFRESH_TOKEN="your-refresh-token"
export STRAVA_CLIENT_ID="your-client-id"
export STRAVA_CLIENT_SECRET="your-client-secret"

常用操作

获取最近30条活动:

curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
  "https://www.strava.com/api/v3/athlete/activities?per_page=30"

获取指定日期后的活动(Unix时间戳):

curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
  "https://www.strava.com/api/v3/athlete/activities?after=1704067200"

获取单次活动详情(替换ACTIVITY_ID):

curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
  "https://www.strava.com/api/v3/activities/ACTIVITY_ID"

令牌每6小时过期,执行刷新脚本或手动调用:

curl -s -X POST https://www.strava.com/oauth/token \
  -d client_id="${STRAVA_CLIENT_ID}" \
  -d client_secret="${STRAVA_CLIENT_SECRET}" \
  -d grant_type=refresh_token \
  -d refresh_token="${STRAVA_REFRESH_TOKEN}"

输入与输出

见下方输入与输出表格。

项目内容
输入Strava API访问令牌、刷新令牌、应用凭证;可选参数包括活动ID、日期范围(Unix时间戳)、分页页码与每页数量
输出JSON格式的活动列表或单条活动详情,包含距离、移动时间、总时长、海拔爬升、运动类型、平均/最大速度、心率数据、点赞数等字段
适用人群健身数据分析师、运动类应用开发者、需要自动化备份运动记录的个人用户、健康数据整合项目维护者
不包含实时数据推送、图形化界面展示、训练效果智能评估、与其他健身平台的自动同步、离线地图渲染

 

风险提示

  • 访问令牌有效期仅6小时,需及时刷新避免中断
  • API限流:每15分钟200次,每日2000次请求
  • Client Secret与Refresh Token需妥善保管,泄露可能导致账户数据暴露
  • 运动数据包含地理位置信息,分享时注意隐私保护

来源信息

原始链接:https://github.com/openclaw/skills/tree/main/skills/bohdanpodvirnyi/strava/SKILL.md
来源类型:开源社区技能文档

数据统计

相关导航

暂无评论

none
暂无评论...