2013-06-25 16 views
0

我正在使用Java 2.0與Jersey 2.0客戶端對REST API進行REST調用。根據API文檔,我應該使用Accept:application/json和Accept-Language:en_US發佈到:https://api.sandbox.paypal.com/v1/oauth2/token。它也表明我應該傳入body_type = client_credentials。我做了所有這些,但我一直得到406或415.我不明白什麼是內容類型的職位電話應該是什麼?我試過text/plain,text/html,application/json,form-url-encoded ..沒有任何東西似乎讓我回歸。不知道爲什麼他們的API文檔編寫者沒有在文檔中包含內容類型和有效載荷的格式。任何人都知道內容類型應該適用於帖子的主體?什麼格式和內容類型是貝寶休息訪問令牌調用的主體?

我想補充一點,當我做任何除了form-url-encoded之外的Content-Type,我回到415,這意味着mediatype不被接受,但是當我使用form-url-encoded傳遞任何東西時,我回到了406,這基本上告訴我身體是不可接受的。

謝謝。

+0

你肯定你的要求的身體是正確的,正確的格式? – benjiman

+0

嗨,我相信媒體類型應該是form_url_encoded,並從我擁有的例子中,這就是我所傳遞的。只有其他問題,我能想到的可能是我沒有使用SSL權利..網址是https,但我沒有在我的客戶端使用SSL ..不知道沙箱是否需要SSL或實際請求。接下來我將嘗試使用它。 – user2520618

回答

0

感謝您提出這個問題。

/token調用發生了最近的變化,並且訪問令牌的請求需要將content-type設置爲application/x-www-form-urlencoded。這在cURL調用中默認完成。

更新的文檔包括關於此的備註即將發佈。

0

入站OAuth 2端點只接受「application/x-www-form-urlencoded」或者它將拋出415,則負載需要正確的url編碼。同樣地,接受報頭需要包含「應用程序/ JSON」,或者服務將拋出406

例如:

接頭: 授權:基本[base64編碼] 內容類型:應用程序/ x -www窗體-urlencoded 接受:應用/ JSON

有效載荷樣本: grant_type = client_credentials & RESPONSE_TYPE =令牌