Frage

Ich versuche, OAuth-Authentifizierung zu verwenden, um eine Vielzahl von Diensten zu verbinden. Zu diesem größten Teil dieser Werke (mit twitter / photobucket getestet), aber mit Evernote, Ich erhalte einen 400-Antwortcode.

Was ist los hier?

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

Dies funktioniert für Twitter + Photobucket, warum also nicht Evernote? Ich verwende Wegweisers 1.2 , die mit Ausnahme dieses einen Anbieter groß gewesen ist.

War es hilfreich?

Lösung

Wahrscheinlich die Unterzeichner. Evernote unterstützt nur Klartext Unterzeichnung. Sie können auch eine 405 erhalten, wenn das der Fall ist, die createRequest Methode überschreiben, eine GET statt POST zu verwenden.

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

Übrigens, ich habe dies durch die Community-Support-Foren beantwortet, ich bin nicht intelligent genug, um es herauszufinden, auf eigene Faust. ; -)

Andere Tipps

Wir haben vor kurzem Unterstützung für HMAC-SHA1 Unterzeichnung, so dass Sie nicht die messageSigner benötigen, sollten nicht mehr zu ändern. Sie müssen GET statt POST verwenden. Weitere Informationen finden Sie unter Forum posten .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top