Как получить ответ от Фарадея на запрос с аутентификацией по токену?

Я использую 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+))

Я не уверен, что мне здесь не хватает.


person Ahmad hamza    schedule 23.03.2018    source источник


Ответы (1)


Здесь упоминалось, как получить ответ. Итак, я настроил это так для 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, я получаю данные.

person Ahmad hamza    schedule 23.03.2018