首页 > 解决方案 > 为什么 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 年多次骑这个段。

我究竟做错了什么?

标签: strava

解决方案


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>仍然有效

我不确切知道您需要什么,但也许您可以:

  1. 获取您在特定时期内的活动
  2. 获得单个活动的分段努力
  3. 分析分段努力

推荐阅读