2017-11-13 19 views
0

이 기사에 이어 유료 래 REST API의 액세스 토큰을 얻기 위해 노력하고 있어요 : https://developer.paypal.com/docs/api/overview/#get-an-access-token 내 요청이 다음과 같습니다지불 래 REST API "unsupported_grant_type"

:

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” } 

내가 알아낼 수없는 이유 - 지금까지의 내가, 내가 지시를 정확히 수행 한 볼 수 있습니다!

"Merchant Techincal Support"는 전혀 도움이되지 않았습니다.

답변

0

TLDR; PayPal REST API의 GetAccessToken 끝 점이 이 아니고 공백을 제거합니다.

해결했습니다. 기민한는 다음과 같은 차이를 알 수 있습니다 :

Content-Length: 31 
... 
grant_type=client_credentials 

데이터는 29 자입니다 - 여분의 두되는 \r\n 캐리지 리턴과 라인 피드.

writer.WriteLine("grant_type=client_credentials"); 

이 문제를 해결

writer.Write("grant_type=client_credentials"); 

사람 : 코드에서 (. 나는 C#을 사용하고 있습니다/NET)

이 변화의 문제였다.

+0

첫 번째 문장은 페이팔이 잘못되었다고 생각합니다. 필자는 직접 유틸리티를 사용하는 대신 응용 프로그램/양식 데이터를 생성하는 유틸리티를 사용하는 것이 좋습니다. 찾은 것처럼이 손으로 쓴 것은 오류가 발생하기 쉽습니다. – Evert

+0

이 게시물은 API의 현재 (현재) 버릇을 영구히 유지하는 방법에 대한 것입니다. 필자는 다양한 기술을 통해 많은 사람들이 그것에 대해 질문하는 것을 보았습니다. Pay Pal 지원은 도움이되지 않았으므로 여기에 설명하기로했습니다. –