strava - 为什么 Strava API 的 segment_eforts 总是返回空结果?
问题描述
我试图通过 Strava API 获得一份工作清单,我创建了我的应用程序,转到https://developers.strava.com/playground/#/并遵循 Autorization 程序。
一切都设置正确,因为当我运行时,GET /athletes
我看到我的个人信息作为响应。
此外,当我运行时,GET /segments/14516262
我会得到我的段的描述作为响应。
但是,当我跑步时GET /segment_efforts?segment_id=23430539&start_date_local=2019-01-01T00%3A00%3A00%2B01%3A00&end_date_local=2021-01-01T00%3A00%3A00%2B01%3A00&per_page=30
,我得到的结果是[]
我在 2019 年和 2020 年多次骑这个段。
我究竟做错了什么?
解决方案
2020 年 5 月 18 日,Strava对 Segments API 应用了更改。
细分排行榜端点不可用:
/api/v3/segments/:id/leaderboard
分段工作仅适用于以下端点中的订阅者:
/api/v3/segments/:id
/api/v3/segment_efforts
/api/v3/segment_efforts/:id/streams
api/v3/activities/:id
在 30 天内,受影响的端点将为免费用户返回空数据,但分段排行榜端点除外,它将为所有用户返回空数据。6 月 18 日之后,它们要么都省略数据,要么返回错误消息。
请注意,在文档的末尾有这样的信息:“无论订阅状态如何,个人分段努力、活动中的分段努力、个人成就 (PR) 和前 10 名排行榜排名仍然可用。”
我认为这个文档不是很清楚,但是作为免费用户,我仍然可以使用:
https://www.strava.com/api/v3/activities/{id}?include_all_efforts=true
/api/v3/segments/:id/leaderboard
与过去有所不同;例如,排行榜 API 仍然有效,但返回一组不同的数据并且一些参数消失了。
用 Postman 做一些测试似乎是:
https://www.strava.com/api/v3/segment_efforts?segment_id=<segment_id>
总是回来[]
https://www.strava.com/api/v3/segments/<segment_id>
现在包含athlete_segment_stats
您的个人记录部分(我不记得这部分之前的更改,但也许我错了)https://www.strava.com/api/v3/segment_efforts/<segmenteffort_id>
仍然有效
我不确切知道您需要什么,但也许您可以:
- 获取您在特定时期内的活动
- 获得单个活动的分段努力
- 分析分段努力
推荐阅读
- caching - 数据复制和缓存的区别
- javascript - 如何根据对象数组中的值过滤键
- powershell - 合并 Powershell 数组
- c - 如何使用微控制器对 Lattice iCE40 ultra 进行编程
- sql - SQL:左连接 & 未找到链接
- c# - Unity 不会构建到 Android(几乎是空白项目测试)
- sas - 创建一个字符串在每个 ID 中出现多次的计数
- rest - 不允许使用 Spring Boot REST 方法 - 405 错误请求方法“GET”不支持
- sql - ACCESS 2016 SQL - 仅获取值更改的行
- vb.net - 使用 Linq 对一行中的多行查询进行排序