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.

Était-ce utile?

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

Autres conseils

Nous avons récemment ajouté le support pour la signature HMAC-SHA1, vous ne devriez pas avoir besoin de changer le messageSigner plus. Vous aurez besoin d'utiliser au lieu de GET POST. Plus d'informations sont disponibles à partir de notre .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top