문제

다양한 서비스에 연결하기 위해 OAUTH 인증을 사용하려고합니다. 이 부분에서는이 작업 (Twitter/Photobucket으로 테스트)이지만 Evernote에서는 400 개의 응답 코드를 받고 있습니다.

여기서 뭐가 잘못 됐어?

OAuthConsumer consumer = new DefaultOAuthConsumer( "myConsumerKey", "myConsumerSecret" );
OAuthProvider provider = new DefaultOAuthProvider( "https://sandbox.evernote.com/oauth", "https://sandbox.evernote.com/oauth", "https://sandbox.evernote.com/OAuth.action" );

String authUrl = provider.retrieveRequest( consumer, OAuth.OUT_OF_BAND );

이것은 Twitter + Photobucket에 적용됩니다. 왜 Evernote가 아닌가? 사용 중입니다 Signpost 1.2, 이 공급자를 제외하고는 훌륭했습니다.

도움이 되었습니까?

해결책

아마도 서명자 일 것입니다. Evernote는 일반 텍스트 서명 만 지원합니다. 케이스가 재정의 된 경우 405를받을 수도 있습니다. createRequest 게시물 대신 get을 사용하는 메소드.

AuthConsumer consumer = new DefaultOAuthConsumer( "myConsumerKey", "myConsumerSecret" );
consumer.setMessageSigner( new PlainTextMessageSigner() );
OAuthProvider provider = new DefaultOAuthProvider( "https://sandbox.evernote.com/oauth", "https://sandbox.evernote.com/oauth", "https://sandbox.evernote.com/OAuth.action" );
String authUrl = provider.retrieveRequest( consumer, OAuth.OUT_OF_BAND );

BTW, 나는 커뮤니티 지원 포럼을 통해이 답변을 얻었습니다. 나는 그것을 스스로 알아낼만큼 똑똑하지 않습니다. ;-)

다른 팁

최근에 HMAC-SHA1 서명에 대한 지원이 추가되었으므로 더 이상 MessageSigner를 변경할 필요가 없습니다. Post 대신 Get을 사용해야합니다. 자세한 정보는 우리가 제공합니다 포럼 게시물.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top