0

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

これはTwitter+Photobucketで機能するので、Evernoteを使ってみませんか?私はSignpost1.2を使用しています。これは、この1つのプロバイダーを除いて素晴らしいものです。

4

2 に答える 2

2

おそらく署名者。Evernoteはプレーンテキスト署名のみをサポートしています。createRequestその場合、POSTの代わりにGETを使用するようにメソッドをオーバーライドする場合は、405を受け取ることもあります。

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

ところで、私はコミュニティサポートフォーラムを通じてこれに答えてもらいました、私は自分でそれを理解するのに十分賢くありません。;-)

于 2010-08-19T00:59:50.800 に答える
1

最近、HMAC-SHA1 署名のサポートが追加されたため、messageSigner を変更する必要はなくなりました。POST の代わりに GET を使用する必要があります。詳細については、フォーラムの投稿を参照してください。

于 2010-12-08T04:42:54.217 に答える