Ruby 如何使用Rails和Strava API获取access_令牌

Ruby 如何使用Rails和Strava API获取access_令牌,ruby,api,oauth,Ruby,Api,Oauth,有人使用过Strava API吗?我正在尝试构建我的第一个应用程序,其中我需要使用每个用户的访问令牌访问API 我已经阅读并理解了协议,但是我还停留在一个阶段,不知道该怎么办 在我的Rails应用程序中,我刚刚创建了一个控制器,通过索引和交换操作来帮助我解决这个问题 在索引视图中,我添加了一个指向strava_domain/oauth/authorize的链接以及正确的属性。它使用状态和代码调用my/exchange操作。问题是我不知道如何使用正确的属性对strava_domain/oauth/

有人使用过Strava API吗?我正在尝试构建我的第一个应用程序,其中我需要使用每个用户的访问令牌访问API

我已经阅读并理解了协议,但是我还停留在一个阶段,不知道该怎么办

在我的Rails应用程序中,我刚刚创建了一个控制器,通过索引和交换操作来帮助我解决这个问题

在索引视图中,我添加了一个指向strava_domain/oauth/authorize的链接以及正确的属性。它使用状态和代码调用my/exchange操作。问题是我不知道如何使用正确的属性对strava_domain/oauth/token进行post调用

是否有一个gem可以处理像这样的oauth2协议,或者人们通常使用Httparty手动编写这些协议(我不知道如何使用它)

此外,我假设在此阶段之后,我将能够从响应中获取访问令牌,并将其添加到用户对象(作为新列)

在此方面的任何帮助都将不胜感激

约翰尼

(我正在使用Ruby 2.1.2和Rails 4)

源代码使用


更多的工作代码。

Oauth是一个相当成熟的东西-我会使用
oauth2
gem,甚至gem!嗨,山姆,谢谢你的回复。我认为
stravaapi
gem已经过时了。Strava最近的一个ruby gem是,但是它没有涵盖认证方面的内容。好吧!也许您可以将两者结合使用,但是
oauth2
gem可能是一个很好的起点。
response = Strava::Api::V3::Auth.retrieve_access(
 ENV['STRAVA_CLIENT_ID'], 
 ENV['STRAVA_CLIENT_SECRET'], 
 request['code']
)
raise "Strava returned #{response.code}: #{response.body}" unless response.success?
# response['token_type'] is "Bearer"
# response['access_token'] is the user token.