如何使用Rails和Strava API获取access_tokens

时间:2014-08-18 12:20:01

标签: ruby api oauth

有没有人使用过Strava API?我尝试构建我的第一个应用程序,我需要使用access_tokens为每个用户访问API。

我已经阅读了http://strava.github.io/api/v3/oauth/并理解了协议,但我在一个阶段陷入困境并且不知道该怎么做。

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

在索引视图中,我提供了一个指向strava_domain / oauth / authorize的链接以及正确的属性。它用状态和代码回调我/交换动作。问题是我不知道如何使用正确的属性对strava_domain / oauth / token进行调查。

有没有像这样处理oauth2协议的gem或人们通常使用Httparty手动编写这些协议(我不明白如何使用它)。

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

对此的任何帮助都将非常感激。

约翰尼。

(我使用Ruby 2.1.2和Rails 4)

1 个答案:

答案 0 :(得分:1)

使用Slavastrava-api-v3代码。

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.

更多有效的代码here