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

How can I use a oauth2 token to create a connection with HTTParty

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

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

class 看起来有点像这样(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

根据文档,header 应该是

Authorization: Bearer YOUR_OAUTH_TOKEN

在你的例子中,假设 oauth_token 是令牌,你正在传递

Authorization: YOUR_OAUTH_TOKEN

将 header 更改为

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