2016-05-08 133 views
4

我正在嘗試爲gem Oauth的AccessToken類做POST API調用。但是我收到了奇怪的回覆,所以任何人都可以讓我知道打電話的確切方式是什麼。在AccessToken發送gem Oauth rails發佈請求中的參數

實施-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錯誤。那麼它們之間的實際區別是什麼?
  • 這是什麼最好的方法。

回答

1

你必須使用:body:headers字符串哈希火箭,我喜歡實現-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'})