首页 > 解决方案 > 使用 cURL 在 android 中获取 paypal 访问令牌

问题描述

请我尝试通过调用 paypal api 端点来获取 Paypal 访问令牌,我尝试了几个代码并最终出现了几个错误,最近一次抛出错误 401,响应消息 Unauthorized

这是我使用的代码


StrictMode.setThreadPolicy(policy);
try{
    client = "AdmXhYPBHuOBiA16LJQGNLfzlyQ6hAU8-jwCsWIzZ97wAj2DAB_z";
    secret = "EKdd4-qSMmcwduoI_FI4ZBfj-6BsNDZD8aJm1yni_ML7Cy";
    String tokenInput = "grant_type=client_credentials";
    URL url = new URL("https://api.sandbox.paypal.com/v1/oauth2/token");
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    
            String up = secret + ":" + client;
    
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Authorization", "Basic " + new String(new org.apache.commons.codec.binary.Base64().encode(up.getBytes())));
       
            conn.setRequestProperty("Accept", "application/json");
            conn.setRequestProperty("Accept-Language", "en_US");
            conn.setUseCaches(false);
            conn.setDoOutput(true);
    textview1.setText("Response code:" + conn.getResponseCode());
    textview2.setText("Response message:" + conn.getResponseMessage());
}catch(Exception e){
    textview3.setText(e.toString());
}

我认为问题来自grant_type=client_credentials因为我不知道在向 api 发出请求时如何将它传递到我的代码中

标签: androidapicurlpaypalhttpurlconnection

解决方案


PayPal APIsecret 属于客户端 Android 或 Web 应用程序。

API 机密只能在只有您可以控制的服务器上使用。

看来您实际上是在寻找适用于 Android 的 Native Checkout SDK


推荐阅读