سؤال

أحاول استخدام مصادقة OAUTH للاتصال بمجموعة متنوعة من الخدمات. لهذا الجزء الأكبر، يعمل هذا (تم اختباره مع Twitter / Photobucket)، ولكن مع Evernote، أتلقى رمز استجابة 400.

ما هو الخطأ هنا؟

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

هذا يعمل لتويتر + Photobucket، فلماذا لا evernote؟ أنا استخدم signpost 1.2., ، الذي كان رائعا باستثناء هذا المزود الأول.

هل كانت مفيدة؟

المحلول

على الأرجح الموقع. يدعم Evernote فقط توقيع النص العادي. قد تتلقى أيضا 405، إذا كان هذا هو الحال تجاوز createRequest طريقة لاستخدام الحصول عليها بدلا من النشر.

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

راجع للشغل، لقد أجبت هذا من خلال منتديات دعم المجتمع، أنا لست ذكيا بما فيه الكفاية لمعرفة ذلك بمفردي. ؛-)

نصائح أخرى

أضفنا مؤخرا دعم توقيع HMAC-SHA1، لذلك يجب ألا تحتاج إلى تغيير messagesigner بعد الآن. سوف تحتاج إلى استخدام الحصول بدلا من النشر. مزيد من المعلومات متاح من موقعنا منتدى البريد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top