2

我正在使用带有 Jersey 2.0 客户端的 Java 对 paypal REST API 进行 REST 调用。根据 API 文档,我应该发帖到:https ://api.sandbox.paypal.com/v1/oauth2/token 并带有 Accept: application/json 和 Accept-Language: en_US。它还表明我应该传入 body grant_type=client_credentials。我做了所有这些,但我一直收到 406 或 415。我无法弄清楚 post call 的 Content-Type 应该是什么?我已经尝试过 text/plain、text/html、application/json、form-url-encoded.. 似乎没有什么能让我找回令牌。不知道为什么他们的 API 文档编写者没有在文档中包含有效负载的 Content-Type 和格式。任何人都知道帖子正文的 Content-Type 应该是什么?

我想补充一点,当我执行除 form-url-encoded 之外的任何 Content-Type 时,我会返回 415,这意味着不接受媒体类型,但是当我使用 form-url-encoded 传递任何内容时,我会返回406,这基本上告诉我身体不行。

谢谢。

4

2 回答 2

0

入站 OAuth 2 端点只接受“application/x-www-form-urlencoded”,否则会抛出 415,然后需要对有效负载进行正确的 url 编码。同样,接受标头需要包含“application/json”,否则服务将抛出 406。

例如:

标头:授权:基本 [base64 编码] 内容类型:application/x-www-form-urlencoded 接受:application/json

有效负载示例:grant_type=client_credentials&response_type=token

于 2013-06-26T15:25:32.300 回答
0

感谢您提出问题。

/token 调用最近发生了变化,访问令牌的请求需要content-type设置为application/x-www-form-urlencoded. 这是在 cURL 调用中默认完成的。

包含有关此注释的更新文档将很快发布。

于 2013-06-25T19:35:57.877 回答