问题标签 [strava]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 首次授权后未发布 Strava API 刷新令牌
也许有人可以帮助我,我正在尝试在我的应用程序首次授权运动员后发布刷新令牌,Oauth 2.0 在邮递员中运行良好,我可以通过这种方式获取刷新令牌,但不是在我的个人 php脚本......我只得到了这种 JSON 响应:
但我正在等待刷新令牌和过期日期,如本例中的 Strava API 文档所示:
我多次尝试从测试帐户撤销对应用程序的访问,以模拟新的身份验证请求,但我没有找到答案,这是我调用令牌交换 URL 的代码:
PS:Oauth 2.0 在邮递员中工作正常,我可以通过这种方式获取刷新令牌,但不能在我的个人 php 脚本中......
谢谢帮助。
android - 从 JSON 获取数据?
我想从此 Json url获取用户名。我有这段代码,但它不能让我得到数据说
Json解析错误
这是代码:
HttpHandler.java
MainActivity.java
这是我在 google 上找到的一个示例,并尝试根据需要对其进行一些更改。我放了一个空的 JsonArray。我也尝试了其他示例,但我不明白出了什么问题。
**
> 新问题
如果我的url是这样的?和其他的有什么区别?
**
playframework - javastravav3api 未拾取 cache.ccf 文件
cache.ccf 文件的位置
stk
-app
-bin -build.sbt
-cache.ccf
-conf
-lib
-libexec
-LICENSE
-logs
-project
-public
-README
-target
-test
堆栈跟踪:
javascript - 如何使用 html/javascript 从 oauth 授权流解析重定向 URL
我想知道如何执行以下操作:
我有一个包含以下代码的 HTML 页面:
这会将我发送到 strava 授权页面。当我授权时,我将使用以下 URL 重定向到我的本地主机:
http://localhost:5500/?state=&code=a43ddsdfasfsadf&scope=
如果正确理解授权流程,那么我需要使用 URL 中的代码请求令牌。但:
我使用 javascript/html。如何从 URL 中检索代码,以及如何在没有参数的情况下重定向回 localhost?
谢谢。
javascript - 如何从脚本中检索令牌
我有以下脚本:
此脚本应授权客户端进行 strava 并检索令牌以供进一步使用。不知何故,我无法理解如何从 const 令牌中获取令牌。
当我调用 token.authorization() 时。它会授权。但我不知道如何从函数中检索 data.access_token 。
谢谢。
c# - 通过 httpwebrequest 登录 strava 失败
嗨,我正在尝试使用 HttpWebrequest 通过https://www.strava.com/session登录,但它没有让我登录。它给了我 302 的响应,这很好,但它永远不会将我重定向到https:// www.strava.com/dashboard。
这是我正在使用的代码
客户端:
获取 crfs 令牌:
自定义键值对
登录:
字典数据 = new Dictionary();
有人可以告诉我我做错了什么吗?如果我在尝试在浏览器中登录 strava 时查看请求标头,它是相同的,但它仍然没有记录我。
ios - iOS 的 strava api 中的授权回调问题
我在我的应用程序中集成了 strava api。我需要有关授权回调域的帮助,即在 api 注册期间需要,以便在授权后设备浏览器再次打开应用程序以供进一步使用。当我尝试提交myapp://
作为回调域时,它给了我错误(此字段必须是域,没有斜杠或路径)。我似乎无法输入任何有效域。因为重定向 url 或 uri 是应用程序在其属性列表中描述的内容。它还自行在重定向 uri 中添加 http。例如,当我们myapp
在 strava 和 plist 文件中注册为 url 方案时,myapp://
在 safari 浏览器中点击会打开应用程序。但是 strava 将其更改为https://www.strava.com/oauth/authorize?client_id=*****&response_type=code&redirect_uri=http://myapp&approval_prompt=force
.
为什么http://
在重定向 uri 中添加了以及为什么我无法注册myapp://
为重定向 uri?
我检查了一个在其重定向 uri 中有斜杠的较旧示例。那么该示例如何工作并在重定向 uri 中使用斜杠进行注册?
所以,请任何人帮助我解决这个问题。
提前致谢。
api - Strava API:快速下载分段工作,可能只需要一个请求
如果我有一个 Strava 活动 ID 列表(大约 800 个),那么获得每个活动的细分工作量的最快方法是什么?
根据我对 Strava API 文档的理解,目前唯一包含分段工作的端点是返回以下实例的端点DetailedActivity
:(https://developers.strava.com/docs/reference/#api-Activities-getActivityById/activities/{id}
)
但这意味着我必须执行 800 个请求,每个活动一个,这将迫使我的 Web 应用程序的用户等待。
然而,有像这样的 Strava 驱动的应用程序:
https://www.marcellobrivio.com/projects/strava-toolbox/
一旦用户通过 Strava 进行身份验证,它几乎可以立即提供对其细分工作的分析。
任何有使用 Strava API 经验的人都可以就如何实现这一点提供建议吗?
python - aiohttp:对同一 URL 的多个请求返回身份验证错误,但 URL 正确
我正在使用下面的代码向 Strava API 发出 599 个异步请求。出于某种原因,我对他们每个人的回应是
{"message":"授权错误","errors":[{"resource":"Application","field":"","code":"invalid"}]}
access_token
这是您的查询字符串参数无效时通常会遇到的错误类型。但在这种情况下,令牌是 100% 正确的:当只是在浏览器中手动复制粘贴时,URL 返回正确的响应。
错误的原因可能是什么以及如何解决?可能是aiohttp
会话以某种方式弄乱了身份验证过程?
注意:出于隐私原因,以下代码中的令牌是假的。
api - 如何实现“GET”请求以适用于 Postman 的 STRAVA API?
进一步更新...
我得到了这个工作。尽管 Strava 的文档没有说调用中的任何参数都是强制性的,但似乎它们都是强制性的。您需要在纪元时间的参数之前和之后放置有效的参数,并且......(这是让我有点困惑的部分)您需要提供页码和每页的项目。每页的项目默认为 30,但页码不默认。它的工作方式是,如果你说第 1 页和每页 30 个项目,你会得到项目 1 - 30。如果你说第 3 页和每页 30 个项目,你会得到项目 31 - 60,依此类推。你必须创建一个循环,直到它得到一个空白页。然后您就知道您已检索到所有活动。(至少我认为它是这样工作的。)
阿德里安
问题更新...
经过一些挖掘和试验,我已经设法自己解决了一些问题(如下所述)。当您在 Strava 上的“我的 API 应用程序”下的设置下创建应用程序时,给出的令牌具有“读取”范围,并且似乎非常非常有限。
按照此处列出的步骤Strava 身份验证后,我能够获得具有以下范围的新令牌:
范围=读取,活动:读取,活动:read_all,配置文件:read_all,read_all
所以......我以为我是“黄金”,俗话说。
好吧,现在我可以使用以下方法进行个人活动:
https://www.strava.com/api/v3/activities/2110745394?include_all_efforts= "true"&access_token={{ADR_Strava_API_Key}}
但是当我尝试获取所有活动的列表时,我没有收到任何错误消息,但 Strava 只是返回
[] 这对于我认识的一名运动员来说有超过 1800 项活动。
我真正想要的是获取活动列表。任何帮助,将不胜感激。
谢谢
阿德里安
我可以使用邮递员使用以下 https 请求从 Strava 获取运动员信息:
https://www.strava.com/api/v3/athletes/19133707?access_token= {{ADR_Strava_API_Key}}
返回以下内容:
但是当我尝试使用此请求获取活动时:
https://www.strava.com/api/v3/19133707/activities?before=&after=1546293601&page=&per_page=&access_token= {{ADR_Strava_API_Key}}
我得到这个返回:
{“消息”:“未找到记录”,“错误”:[{“资源”:“资源”,“字段”:“路径”,“代码”:“无效”}]}
据我说,我要求提供 2019 年 1 月 1 日之后的所有记录,即纪元时间戳 1546293601。我知道在那之后该运动员有很多活动。(超过20)。
我还尝试使用以下方法进行单个活动:
https://www.strava.com/api/v3/activities/2110745394?include_all_efforts= "true"&access_token={{ADR_Strava_API_Key}}
我得到了结果:
{“消息”:“未找到资源”,“错误”:[{“资源”:“活动”,“字段”:“”,“代码”:“未找到”}]}
在 Strava 开发者页面上,给出了 HTTPie 的示例,如下所示:
https://www.strava.com/api/v3/activities/ {id}?include_all_efforts=" "授权:承载 [[token]]
所以我用 &access_token= 替换 "Authorization: Bearer [[token]]
也许这是我的错误,但 access_token 在第一个示例中有效。
如果这是一个完全白痴的问题,我很抱歉。我是初学者,我将不胜感激。
谢谢