Pergunta

Eu estou tentando usar a autenticação OAuth para conectar a uma variedade de serviços. Por este maior parte, isso funciona (testado com twitter / photobucket), mas com o Evernote, eu estou recebendo um código de 400 resposta.

O que está errado aqui?

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 );

Isso funciona para Twitter + Photobucket, então porque não Evernote? Estou usando Signpost 1,2 , que tem sido great, exceto para este provedor.

Foi útil?

Solução

O mais provável é signatário. Evernote suporta apenas a assinatura de texto simples. Você também pode receber um 405, se esse for o caso, substituir o método createRequest usar um GET em vez de POST.

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, eu tenho este respondeu através dos fóruns de suporte da comunidade, eu não sou inteligente o suficiente para descobrir isso por conta própria. ; -)

Outras dicas

Nós apoio recentemente adicionado para assinatura HMAC-SHA1, então você não deve precisar alterar o messageSigner mais. Você vai precisar usar GET em vez de POST. Mais informações estão disponíveis em nosso fórum pós .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top