如何通过令牌身份验证从 Faraday 获取请求的响应?
How to get the response from Faraday get request with token authentication?
我正在使用带有令牌身份验证的 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'))
,我已将令牌移至 headers
它在 token token - 2342342
之类的令牌之前添加了额外的字符串,这对我正在获取数据的 api 无效。
我正在使用带有令牌身份验证的 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'))
,我已将令牌移至 headers
它在 token token - 2342342
之类的令牌之前添加了额外的字符串,这对我正在获取数据的 api 无效。