twitter oauth用に以下のサンプルアプリを試しています。
http://www.androidsdkforum.com/android-sdk-development/3-oauth-twitter.html
private void askOAuth() {
try {
consumer = new CommonsHttpOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
provider = new DefaultOAuthProvider("http://twitter.com/oauth/request_token",
"http://twitter.com/oauth/access_token",
"http://twitter.com/oauth/authorize");
String authUrl = provider.retrieveRequestToken(consumer, CALLBACK_URL);
Toast.makeText(this, "Please authorize this app!", Toast.LENGTH_LONG).show();
this.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(authUrl)));
} catch (Exception e) {
Log.e(APP, e.getMessage());
Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show();
}
}
次のコードを実行すると、次のように例外が発生します
「oauth.signpost.exception.OAuthNotAuthorizedException: 認証に失敗しました (サーバーは 401 で応答しました。これは、コンシューマ キーが正しくないか、署名が一致しなかった場合に発生する可能性があります。」
この行で String authUrl = provider.retrieveRequestToken(consumer, CALLBACK_URL);
正しい「キー」と「シークレット」を提供しましたが、Twitter は間違ったキーとシークレットを提供していますか?