Pay Pal REST API“unsupported_grant_type”

时间:2017-11-13 00:45:43

标签: paypal paypal-rest-sdk

我正在尝试从Pay Pal REST API获取访问令牌,请遵循以下文章:https://developer.paypal.com/docs/api/overview/#get-an-access-token

我的请求如下:

POST https://api.paypal.com/v1/oauth2/token HTTP/1.1 
Content-Type: application/x-www-form-urlencoded 
Accept: application/json 
Accept-Language: en_US 
Authorization: Basic [redacted] 
Host: paypal.com 
Content-Length: 31 
Expect: 100-continue 
Connection: Keep-Alive 

grant_type=client_credentials 

但我不断收到400 Bad Request以下的回复数据:

{ “error”: “unsupported_grant_type”, “error_description”: “unsupported grant_type” }

我无法弄清楚为什么 - 据我所知,我完全按照说明操作了!

他们的“商人技术支持”绝对没有帮助。

1 个答案:

答案 0 :(得分:1)

TLDR; PayPal REST API的GetAccessToken端点修剪空格。

我解决了。精明的人会注意到以下差异:

Content-Length: 31
...
grant_type=client_credentials

数据只有29个字符 - 额外的两个是\r\n回车和换行。

在代码中(我使用C#/ .NET),这是一个改变的问题:

writer.WriteLine("grant_type=client_credentials");

writer.Write("grant_type=client_credentials");

这纠正了这个问题。