我尝试使用我的测试应用程序发送付款。我正在使用paypal java sdk包。
我没有收到我的访问令牌。我只收到了不记名令牌, 持票人WesirDWp61YcTr8N8XWZHnPk7tCch.ZgcMvLfyp-FRA:appId: APP-80W284485P519543T
因此,当我尝试发送付款时,由于没有访问令牌,我获得了401授权错误。我第一次发送请求时返回了访问令牌,但每次后续尝试都会出现此错误:
Java异常“com.paypal.core.rest.PayPalRESTException:错误代码:401
响应:服务器返回HTTP resp“在调用方法时”创建“with
签名“(Ljava.lang.String;)Lcom.paypal.api.payments.Payment;”在课堂上
“com.paypal.api.payments.Payment”。
我不明白这里发生了什么。我在这里完全错过了船吗?
感谢您的回复。
答案 0 :(得分:0)
承载令牌是访问令牌,更具体地说,它是返回的访问令牌的类型。根据REST API Reference(这是java sdk调用的),对oauth端点的调用返回:
{ “范围”:“https://api.paypal.com/v1/payments/。* https://api.paypal.com/v1/vault/credit-card https://api.paypal.com/v1/vault/credit-card/。*”, “access_token”:“EEwJ6tF9x5WCIZDYzyZGaz6Khbw7raYRIBV_WxVvgmsG”, “token_type”:“持票人”, “app_id”:“APP-6XR95014SS315863X”, “expires_in”:28800 }
SDK结合了两个字段并将它们作为“Bearer token”返回。
此承载令牌是访问REST API所需的全部内容(根据请求的权限/范围以及请求承载令牌的方式有一些限制,但这取决于创建调用)。在授权标头中传递承载令牌: “授权:持票人EEwJ6tF9x5WCIZDYzyZGaz6Khbw7raYRIBV_WxVvgmsG”
答案 1 :(得分:0)
使用Postman上的POST Request命中此URL。 开机自检https://api.sandbox.paypal.com/v1/oauth2/token 在“授权”上,选择“基本身份验证”,然后输入用户名作为clientID,输入密码作为ClientSecret。 在标头中设置Content-Type:application / x-www-form-urlencoded 在主体中选择x-www-form-urlencoded并编写grant_type:client_credentials 发送请求后,您将获得access_token