android - 使用 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 发出请求时如何将它传递到我的代码中
解决方案
PayPal APIsecret
不属于客户端 Android 或 Web 应用程序。
API 机密只能在只有您可以控制的服务器上使用。
看来您实际上是在寻找适用于 Android 的 Native Checkout SDK。
推荐阅读
- mapbox - 通过使用 Mapbox 的过滤器进行高效加载
- php - 在 Laravel 中对多维数组进行排序
- python - 如何从 Django 中的外键模型中获取属性?
- sql - 为什么我的串联不允许我在末尾附加 % ?
- python - 从 android/ios 应用程序到 Windows 软件的实时 JSON 字符串传输
- r - 在 R 中使用带有条件的 sample()
- c# - ALTER TABLE ALTER COLUMN ObjID 失败,因为一个或多个对象访问此列
- .net - 如何在实体框架中将视图检索为 int
- ios - 如果我们在并发队列中导致死锁会发生什么?
- python - Colab 找不到文件