如何将标头添加到httparty呼叫

时间:2016-03-10 18:51:32

标签: ruby-on-rails httparty

我试图在我的api通话中添加标题

这是我目前所尝试的内容

$all_user_recent_posts=mysql_query("select * from user_post where user_id=$userid and post_time >= DATE_SUB(NOW(),INTERVAL 1 HOUR);");

这是返回此错误

api1 = HTTParty.get(URI.encode('apiurllink' + tmname + '&date=' + fromdate + ' TO ' + todate + '', :headers => {"Authorization" => "Bearer apikey"})).parsed_response

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

您尝试引发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"
  }
)