我正在开发一个AngularJS应用程序,我试图测试PayPal事务。我创建和应用,得到ClientID和秘密,然后我想要一个访问令牌。我试着用这个
storeApp.controller('payPalController', ['$scope', '$http', function($scope, $http)
{
$scope.paypal = function()
{
$http({
method: 'POST',
url: 'https://api.sandbox.paypal.com/v1/oauth2/token',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Basic AeHZj_qxaxXkqKQWIjt4vLN1kL7dfpmn-aTiE3u0eLVGZBQut1DXA8qgMq8N22GCjTLrZUOSg4BC6hvH:EAsK3JWlOW1rPNRelHWuy3qmNWMwg74t2K_CizaBQGaT10OyMyEY7pVVBJJC2RZCZXthaNL7iBfGULzN',
},
data: 'grant_type=client_credentials'
})
.success(function()
{
console.log("It works!");
//console.log(data);
})
.error(function()
{
console.log("It fails!");
//console.log(data)
});
}
}]);但是,当我执行表单浏览器时,我得到了以下内容:
{“rp_lookup_failed”:“rp_lookup_failed”,“error_description”:“无法读取RP元数据:请求与异常一起失败:error_description客户端异常,同时调用UserRead.read_identity_partner_app 2.0:\n"}
另一方面,我也收到了这个警告。
此站点使用SHA-1证书;建议使用比SHA-1哈希函数更强的认证签名算法。
谢谢你的帮助
发布于 2015-11-30 16:42:12
我也有同样的问题,原因是-您需要Base64编码授权头。(client_id和机密)。
因此,将这一行替换为:
'Authorization': 'Basic AeHZj_qxaxXkqKQWIjt4vLN1kL7dfpmn-aTiE3u0eLVGZBQut1DXA8qgMq8N22GCjTLrZUOSg4BC6hvH:EAsK3JWlOW1rPNRelHWuy3qmNWMwg74t2K_CizaBQGaT10OyMyEY7pVVBJJC2RZCZXthaNL7iBfGULzN'按照这一行:
'Authorization': 'Basic QVVBZ3dEdzNrUUEwa0NBblFRZWdVR1M4R19zb3pBdkV5NFY1RUppdm5JTVdSQVJESnNQR2VGWHZBWEo1NjlfOGhGelgzdkxWS21jU0JyTnQ6RUVkbUdHNFptaGRCSlJwQjZMek9VLWJWQmU3NEZIWm8xam9TTGM0V0tiTzg2cS15TWk1ZTA5NUxXUHlhVHIxa2YxWjBDdHB3YU40WGxmMmw='https://stackoverflow.com/questions/33345785
复制相似问题