ruby-on-rails – 在gem Oauth rails的AccessToken post请求中传递参数

我正在尝试对宝石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错误.

所以我有以下疑问:

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

最佳答案 你必须使用字符串哈希火箭: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'})
点赞