发送通过HTTParty发送的post查询

我正在使用带有HTTParty的Buffer App API尝试通过/ updates / create方法添加post,但是API似乎忽略了我的“text”参数并引发了错误。 如果我在命令行上通过cURL执行它,它可以完美地工作。 这是我的代码:

class BufferApp include HTTParty base_uri 'https://api.bufferapp.com/1' def initialize(token, id) @token = token @id = id end def create(text) BufferApp.post('/updates/create.json', :query => {"text" => text, "profile_ids[]" => @id, "access_token" => @token}) end end 

我正在运行这样的方法:

 BufferApp.new('{access_token}', '{profile_id}').create('{Text}') 

我已经将debug_output $stdout添加到了类中,它似乎发布了OK:

 POST /1/updates/create.json?text=Hello%20there%20why%20is%20this%20not%20working%3F&profile_ids[]={profile_id}&access_token={access_token} HTTP/1.1\r\nConnection: close\r\nHost: api.bufferapp.com\r\n\r\n" 

但是我收到了一个错误。 我错过了什么吗?

我查看了API ,并且更新期望JSON位于POST主体中,而不是查询字符串。 尝试:body而不是:query

  def create(text) BufferApp.post('/updates/create.json', :body => {"text" => text, "profile_ids[]" => @id, "access_token" => @token}) end