小编Bri*_*onS的帖子

PayPal REST API - Sandbox为API请求返回401但成功访问令牌

我正在使用Java中的PayPal REST API向测试(沙盒)服务器请求访问令牌,该令牌成功,然后将该访问令牌发送回相同的沙箱服务器,以便在401未授权的情况下失败.

我按照此处的PayPal REST API说明进行操作:https://developer.paypal.com/webapps/developer/docs/api/#authentication--headers and https://developer.paypal.com/webapps/developer/docs /集成/直接/化妆您先呼叫/

我尝试使用OAuthTokenCredential对象提供本人clientIdclientSecret,但它只返回我的访问令牌,而不是appIDPayPal提供,也不是expiresIn在几分钟的时间.此外,它抱怨sdk_conf.properties我的类路径中丢失了一个文件.

然后,我创建了自己的类,使用Apache的HttpClient进行调用,以获得完整的响应,并且可以正常工作:

RestEasy的自定义PayPalAPI界面

@Path("v1/oauth2/token")
public interface PayPalOAuthAPI {
    @POST
    @Produces(MediaType.APPLICATION_JSON)
    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
    public OAuthInfo requestAccessToken(
        @HeaderParam("Authorization") String basicEncodedToken, 
        String requestBody
    );
}
Run Code Online (Sandbox Code Playgroud)

自定义OAuth令牌请求

private OAuthInfo getOAuthInfo() {
    OAuthInfo info = null;

    PayPalOAuthAPI client = HttpClientFactory.createRestEasyClient(80, 443, 120, 2,
                                          API_ENDPOINT, PayPalOAuthAPI.class, true);
    info = client.requestAccessToken("Basic "+
                                    generateBase64String(PP_API_USER, PP_API_SECRET),
                                    "grant_type=client_credentials");

    if (info == null) {
        throw new RuntimeException(APIResultCodes.REMOTE_UNAUTHORIZED, 
                                   "Could …
Run Code Online (Sandbox Code Playgroud)

rest paypal paypal-sandbox

5
推荐指数
1
解决办法
8138
查看次数

标签 统计

paypal ×1

paypal-sandbox ×1

rest ×1