我使用Java和Jersey 2.0客户端对paypal REST API进行REST调用。根据API文档,我应该使用Accept:application / json和Accept-Language:en_US发布帖子:https://api.sandbox.paypal.com/v1/oauth2/token。它还表明我应该传入body grant_type = client_credentials。我做了所有这些,但我一直得到406或415.我无法弄清楚是什么内容类型的帖子应该是什么?我已经尝试过text / plain,text / html,application / json,form-url-encoded ......似乎没有什么能让我得到一个令牌。不确定为什么他们的API文档编写器没有在文档中包含有效内容的Content-Type和格式。任何人都知道帖子正文的内容类型应该是什么?
我想补充一点,当我进行除form-url-encoded之外的任何Content-Type时,我会回到415,这意味着mediatype不被接受,但是当我使用form-url-encoded传入任何内容时,我回到406,基本上告诉我身体是不可接受的。
感谢。
答案 0 :(得分:0)
感谢提出这个问题。
/ token调用最近发生了更改,对访问令牌的请求需要将content-type
设置为application/x-www-form-urlencoded
。这在cURL调用中默认完成。
包含相关说明的更新文档很快就会推出。
答案 1 :(得分:0)
入站OAuth 2端点只接受“application / x-www-form-urlencoded”或者它将抛出415,然后需要对有效负载进行正确的url编码。同样,accept标头需要包含“application / json”,否则服务将抛出406。
例如:
接头: 授权:基本[base64编码] 内容类型:application / x-www-form-urlencoded 接受:application / json
有效负载示例: grant_type = client_credentials&安培; RESPONSE_TYPE =记号