在gem Oauth rails的AccessToken post请求中传递参数

时间:2016-05-08 08:31:30

标签: ruby-on-rails ruby oauth

我正在尝试对宝石Oauth的AccessToken类进行POST API调用。但我得到了奇怪的回答,所以任何人都可以让我知道发布电话的确切方式。

实施-1:

access_token.post('/organizations/223031/files', { 'name' => '10.3.199_export.zip' }.to_json(),
{ 'Accept'=>'application/vnd.deere.axiom.v3+json', 'Content-Type' => 'application/vnd.deere.axiom.v3+json' })

我得到了正确的答复。

实施-2:

access_token.post('/organizations/223031/files',
:body => {:name => 'xyz.zip'}.to_json,
:headers => { 'Content-Type' => 'application/vnd.deere.axiom.v3+json', 'Accept'=>'application/vnd.deere.axiom.v3+json'})

对于此次通话,我提到了link,但收到了404错误。

所以我有以下疑问:

  • 根据我的理解 implementation-1 是正确的(如果我错了,请纠正我)至于获得正确的响应,而 implementation-2 获取404错误。那么它们之间的实际区别是什么。
  • 最好的方法是什么。

1 个答案:

答案 0 :(得分:1)

你必须使用:body:headers的字符串哈希火箭,我更喜欢 Implementation-1

access_token.post('/organizations/223031/files',
  "body" => {"name" => 'xyz.zip'},
  "headers" => { 'Content-Type' => 'application/vnd.deere.axiom.v3+json', 
    'Accept'=>'application/vnd.deere.axiom.v3+json'})