如何使用oauth2令牌与HTTParty建立连接

时间:2015-01-20 20:38:26

标签: ruby-on-rails ruby oauth-2.0 httparty basecamp

我正在尝试使用HTTParty连接到Basecamp API,但是我遇到了身份验证问题。

我收到错误"HTTP Basic: Access denied",这在我尝试执行OAuth时没有意义。

该类看起来有点像这样(XXXX来自其他地方,但这里只是硬编码的例子)。

 class Basecamp
    include HTTParty

    def initialize(oauth_token)
        self.class.base_uri "https://basecamp.com/XXXXX/api/v1/"
        @options = {
            headers: {
                "Authorization" => oauth_token,
                "User-Agent" => 'XXXX (XXXXXX)'
            }
        }
    end

    def projects
        self.class.get('/projects.json', @options)
    end

    def users
        self.class.get('/people.json', @options)
    end
end

1 个答案:

答案 0 :(得分:3)

根据文档,标题应为

Authorization: Bearer YOUR_OAUTH_TOKEN

在您的情况下,假设oauth_token是令牌,您正在传递

Authorization: YOUR_OAUTH_TOKEN

将标题更改为

"Authorization" => "Bearer #{oauth_token}",