我无法从 Strava 的 api 文档中的 url 访问所有运动员活动(我自己的)。
我能够获得自己的年初至今统计数据:
https://www.strava.com/api/v3/athletes/XXXXXXXX/stats?access_token=ACCESSTOKEN
我可以获得我的个人资料信息:
https://www.strava.com/api/v3/athlete?access_token=ACCESSTOKEN
但是当我尝试进行所有活动时:
https://www.strava.com/api/v3/athlete/activities?access_token=ACCESSTOKEN
我收到以下错误:
{
"message": "Authorization Error",
"errors": [
{
"resource": "AccessToken",
"field": "activity:read_permission",
"code": "missing"
}
]
}
我是否需要在 url 中的某处包含我的客户端 ID 或密钥?我已经登录,所以不明白为什么我不能访问我自己的信息。请指教🙏
原文由 mhanley00 发布,翻译遵循 CC BY-SA 4.0 许可协议
2018 年 10 月 15 日,Strava 增强了 授权 流程,引入了新的 范围 列表。
您是否使用在 https://www.strava.com/settings/api 上找到的访问令牌?
这个令牌有
scope:read
可能不足以做你想做的事(即你的活动是公开的还是私人的?)。如果您需要具有不同范围的新令牌,则必须按照以下 步骤 操作。
第 1 步:将用户重定向到 Strava 的授权页面:
第 2 步:从响应中读取
code
参数:第 3 步:使用包含授权码的
POST
请求新的访问令牌;您会在 JSON 响应中找到新的access_token
。您可以在您的 应用程序页面 中找到客户端 ID、客户端密码和回调域。
您可以在本 文档 中找到新范围的列表。
如果您是唯一使用您的应用程序的人,您可以使用浏览器和
http://localhost
作为回调域手动执行前 2 个步骤。