我有以下curl命令可以正常工作:
curl "https://api.multisafepay.com/v1/json/gateways" -X GET -H "api_key: e983177756a109e87aa5edbe05e0xxxxxxxxxxxx"
当我尝试在Rails中做同样的事情时(我尝试使用HTTP和法拉第,我总是得到一个包含以下内容的响应:
“error_info \”:\“无效的API密钥\”
这是我为法拉第所做的命令:
conn = Faraday.new 'https://api.multisafepay.com/v1/json/'
conn.headers = {'api_key' => 'e983177756a109e87aa5edbe05e0xxxxxxxxxxxx'}
conn.get 'gateways'
提供正确结果集的Curl命令有什么区别?
编辑:调试法拉第向我展示了这个方法:
def run_request(method, url, body, headers)
标题是否为零?我正在继续寻找原因。
答案 0 :(得分:0)
我认为你没有给法拉第一个正确的网址。试试这样的事情
conn = Faraday.new do |f|
f.headers['api_token'] = <yourkey>
f.request :url_encoded
end
resp = conn.get('https://api.multisafepay.com/v1/json/gateways')
答案 1 :(得分:0)
require 'rest-client'
require 'json'
response = RestClient.get("https://api.multisafepay.com/v1/json/gateways",
{'api_key' => 'e983177756a109e87aa5edbe05e0xxxxxxxxxxxx'}
)
puts JSON.parse(response, { symbolize_names: true })
#just in case try this one for header
#{:content_type => :json, :accept => :json, :api_key => 'e983177756a109e87aa5edbe05e0xxxxxxxxxxxx'}