我正在使用Ruby on Rails 5.2和gems:ruby-trello,devise,omniauth-trello。
我想代表 Trello 用户提出授权请求,如下所示:https://github.com/jeremytregunna/ruby-trello#multiple-users
来自 git 文档的示例:
@client_bob = Trello::Client.new(
:consumer_key => YOUR_CONSUMER_KEY,
:consumer_secret => YOUR_CONSUMER_SECRET,
:oauth_token => "Bob's access token",
:oauth_token_secret => "Bob's access secret"
)
我的步骤:
- 用户 (Bob) 使用 Trello 登录并获取自己的oauth_secret和oauth_token
- 应用程序使用以下方法为 Bob 创建一个 Trello::客户端:
- 他自己的 OAuth 数据 (:oauth_token, :oauth_token_secret)
- 我从这里得到了consumer_key:https://trello.com/app-key(在页面顶部,第一个带有键字段的块)
- consumer_secret也取自 https://trello.com/app-key,但从页面底部,最后一个带有密钥密钥的块
在此之后,我尝试从 Bob 的 trello 帐户(板、列表、任务等)获取任何数据,但总是收到 500 错误(无效令牌)。
你能解释一下我做错了什么吗? 提前谢谢你。
我所做的是实现一个会话控制器来请求和授权访问用户的 trello,然后在控制器上的回调方法中使用授权参数调用Trello::Client
。
看看这个:Trello OAuth 1.0 授权与 Ruby
然后在授权方法中,您可以使用:oauth_token
调用Trello::Client
:oauth_token_secret
,并从get_access_token调用或将它们存储在会话对象上并在任何地方使用它们。