获得访问令牌paypal rest api grails



如何在grails中使用paypal rest api

curl -v https://api.sandbox.paypal.com/v1/oauth2/token 
  -H "Accept: application/json" 
  -H "Accept-Language: en_US" 
  -u "EOJ2S-Z6OoN_le_KS1d75wsZ6y0SFdVsY9183IvxFyZp:EClusMEUk8e9ihI7ZdVLF5cZ6y0SFdVsY9183IvxFyZp" 
  -d "grant_type=client_credentials"

DOC: https://developer.paypal.com/webapps/developer/docs/integration/mobile/verify-mobile-payment/

我需要在grails中获取认证令牌。

我试图使用HttpClient实现,但如何通过用户凭据。在上面的例子中,HttpClient中有-u uname:pass

看起来您正在使用Basic Auth进行身份验证(请参阅如何在curl中设置基本身份验证和维基百科中客户端的基本身份验证部分)。

Apache的Http客户端为您提供了身份验证处理,但在这种情况下,手动创建头似乎更容易:

Request addBasicAuthHeader(String username, String password) {
   return addBasicAuthHeader(createBasicAuth(username, password))
}
Request addBasicAuthHeader(String headerValue) {
   request.addHeader("Authorization", "Basic ${headerValue}")
   return request
}
private String createBasicAuthHeader(String username, password) {
   "$username:$password".toString().bytes.encodeBase64()
}

您可以调用任何addBasicAuthHeader方法(可能使它们适应您正在使用的HttpClient的味道),允许您从其原始值(您在curl-u标志中所拥有的)或从一对用户名和密码中添加基本验证头。

最新更新