尝试使用rest-client gem从Rails api消费经过身份验证的公共api。但是,参数哈希不能动态地解析到请求中。
例如如果我对此进行硬编码,则请求的效果很好:
http://www.example.org/api/?method=methodName&id=iD&apikey=#{ENV['API_SECRET_KEY']}&output=json
但是,如果我尝试使用如下代码动态地执行此操作:
response = RestClient::Request.execute(
method: :get,
url: "http://www.example.org/api",
headers: {
params: {
method: "getLegislators",
id: @state,
api_key: ENV['API_SECRET_KEY'],
output: 'json'
}
}
)
我收到400错误的请求错误,我认为这表明我没有提供必要的参数。
我已经检查了浏览器中的“网络”选项卡,但是我无法确定正在发送哪些参数来尝试调试。