Domanda

Sto cercando di utilizzare l'autenticazione OAuth per connettersi a una varietà di servizi. Per questo la maggior parte, questo funziona (testato con Twitter / Photobucket), ma con Evernote, sto ricevendo un codice di risposta 400.

Che cosa c'è che non va qui?

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

Questo funziona per Twitter + Photobucket, quindi perché non Evernote? Sto utilizzando orientamento 1.2 , che è stato ottimo, tranne per questo fornitore.

È stato utile?

Soluzione

Molto probabilmente il firmatario. Evernote supporta solo plain firma del testo. È inoltre possibile ricevere un 405, se è questo il caso l'override del metodo createRequest di usare un GET invece di 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 );

A proposito, ho ottenuto questo ha risposto attraverso il forum di supporto della comunità, non sono abbastanza intelligente per capirlo da solo. ; -)

Altri suggerimenti

Recentemente abbiamo aggiunto il supporto per HMAC-SHA1 firma, quindi non dovrebbe essere necessario cambiare più il messageSigner. Sarà necessario utilizzare GET invece di POST. Ulteriori informazioni sono disponibili sul nostro Messaggio Forum .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top