使用 cURL 在 android 中获取 paypal 访问令牌
Posted
技术标签:
【中文标题】使用 cURL 在 android 中获取 paypal 访问令牌【英文标题】:Get paypal access token in android with cURL 【发布时间】:2021-11-01 05:36:49 【问题描述】:请我尝试通过调用 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 发出请求时不知道如何将其传递到我的代码中
【问题讨论】:
【参考方案1】:PayPal API secret
不属于客户端 android 或 Web 应用程序。
API 机密只能用于只有您可以控制的服务器。
您似乎实际上在寻找Native Checkout SDK for Android。
【讨论】:
我知道并且我在上面的代码中使用的 API 机密不完整,我刚刚生成。我不是在寻找适用于 Android 的 Native SDK,而是在寻找一种直接连接到 API 的方法,这样我就有更多的控制权。 我所要求的只是一种直接从 Android 使用客户端 ID 和密钥获取我的访问令牌的方法 我的回答是你永远不应该这样做。永远不要从客户端代码中使用客户端和密钥进行直接连接。以上是关于使用 cURL 在 android 中获取 paypal 访问令牌的主要内容,如果未能解决你的问题,请参考以下文章