gpt4 book ai didi

rest - 如何使用 REST 请求获取 Paypal 访问 token

转载 作者:太空宇宙 更新时间:2023-11-03 15:56:03 25 4
gpt4 key购买 nike

我正在努力让它工作 https://developer.paypal.com/webapps/developer/docs/integration/direct/make-your-first-call/使用 Java + Jersey 应用程序。好像我在 POST 参数中遗漏了一些东西。

public String getPaypalToken() {
Client client = Client.create();
WebResource webResource = client.resource("https://api.sandbox.paypal.com/v1/oauth2/token");
MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
queryParams.add("username", CLIENT_ID + ":" + SECRET );
queryParams.add("grant_type", "client_credentials");
ClientResponse response = webResource.accept("application/json").acceptLanguage("en_US").type("application/x-www-form-urlencoded").post(ClientResponse.class, queryParams);
return response.toString();
}

使用之前的代码我得到:POST https://api.sandbox.paypal.com/v1/oauth2/token返回 401 未经授权的响应状态。

这个 CURL 命令行选项工作正常:

curl -X POST https://api.sandbox.paypal.com/v1/oauth2/token  -H "Accept: application/json"  -H "Accept-Language: en_US"  -u "EOJ2S-Z6OoN_le_KS1d75wsZ6y0SFdVsY9183IvxFyZp:EClusMEUk8e9ihI7ZdVLF5cZ6y0SFdVsY9183IvxFyZp"  -d "grant_type=client_credentials"

任何建议将不胜感激。J.

最佳答案

curl 中的 -u 选项发送 base64 编码的“用户名:密码”字符串。我不认为向 queryParams 映射添加客户端 ID/ secret 会起到同样的作用(除非 Jersey 以不同方式对待“用户名”键,但我认为不会)。

你应该试试

webResource.header("Authorization", "Basic"+ Base64.encode(CLIENT_ID + ":"+ SECRET.getBytes()))

关于rest - 如何使用 REST 请求获取 Paypal 访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19283277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com