OAuth Authentification avec Evernote (Utilisation de Java + Signpost)
Question
Je tente d'utiliser l'authentification OAuth pour se connecter à une variété de services. Pour cette plupart, cela fonctionne (testé avec twitter / Photobucket), mais avec evernote, je reçois un code 400 de réponse.
Quel est le problème ici?
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 );
Cela fonctionne pour Twitter + Photobucket, alors pourquoi ne pas EVERNOTE? J'utilise Signpost 1.2 , qui a été super, sauf celui-fournisseur.
La solution
Très probablement le signataire. Evernote ne supporte que la signature du texte brut. Vous pouvez également recevoir un 405, si tel est le cas substituer la méthode createRequest
d'utiliser un GET au lieu 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, je suis arrivé une réponse à travers les forums de soutien communautaire, je ne suis pas assez intelligent pour le comprendre moi-même. ; -)