【问题标题】:How to add headers to a httparty call如何将标头添加到 httparty 调用
【发布时间】:2016-03-10 18:51:32
【问题描述】:
我正在尝试将标头添加到我的 api 调用中
这是我目前尝试的方法
api1 = HTTParty.get(URI.encode('apiurllink' + tmname + '&date=' + fromdate + ' TO ' + todate + '', :headers => {"Authorization" => "Bearer apikey"})).parsed_response
这是返回此错误
TypeError: no implicit conversion of Hash into String
我该如何解决这个问题?
【问题讨论】:
标签:
ruby-on-rails
httparty
【解决方案1】:
您的尝试引发了 TypeError,因为您将 :headers => {"Authorization" => "Bearer apikey"} 哈希传递给 URI.encode 而不是 HTTParty.get。
api1 = HTTParty.get(URI.encode('apiurllink' + tmname + '&date=' + fromdate + ' TO ' + todate + ''), :headers => {"Authorization" => "Bearer apikey"}).parsed_response
更好的方法是使用query 选项并让HTTParty 为您构造查询字符串。
response = HTTParty.get('/someuri',
query: {
date: "#{fromdate} TO #{todate}",
foo: "bar"
},
headers: {
"Authorization" => "Bearer apikey"
}
)