如何通过令牌认证获得法拉第获取请求的响应?

时间:2018-03-23 06:45:37

标签: ruby-on-rails ruby faraday

我使用Faraday进行令牌身份验证,无法对其进行配置以获取响应。

到目前为止,我一直在写这个

conn = Faraday.new(url: url) do |faraday|
 faraday.token_auth(ENV.fetch('API_TOKEN'))
 faraday.adapter Faraday.default_adapter
end

当我使用conn对象获取响应时,它会以不同的方式响应

conn.response    
ArgumentError (wrong number of arguments (given 0, expected 1+))

我不确定我在这里缺少什么。

1 个答案:

答案 0 :(得分:1)

Here提到了如何获得回复。所以我为url配置了这个:

url = https://some-api.com/products/1231/other_part_of_url
base_url = https://some-api.com
path = products/1231/other_part_of_url

conn = Faraday.new(url: base_url) do |faraday|
 faraday.headers['Authorization'] = ENV.fetch('API_TOKEN')
 faraday.adapter Faraday.default_adapter
end

response = conn.get(path)
response.body

此外,由于使用faraday.token_auth(ENV.fetch('API_TOKEN'))时我已将令牌移至标头 它在token token - 2342342之类的令牌之前添加了额外的字符串,这对于我获取数据的API无效。