我正在使用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+))

我不知道我在这里错过了什么。

最佳答案

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无效。

08-07 21:32