Search code examples
androidtwittertwitter4jxauth

Android Twitter xAuth example using twitter4j


Android: I am trying the following xAuth example for android share.

xAuth Authentication for Twitter Share in Android?

System.setProperty("twitter4j.oauth.consumerKey", "your token");
System.setProperty("twitter4j.oauth.consumerSecret", "your token secret");

Twitter twitter = new TwitterFactory().getInstance(login, password);

AccessToken accessToken = twitter.getOAuthAccessToken();
//Then you must save your Token and Token secret from AccesToken

if (mAccessToken != null) {
    if (mAccessToken.getToken() != null && mAccessToken.getTokenSecret() != null) {
        saveAccessToken(mAccessToken.getToken(), mAccessToken.getTokenSecret());
    }
}

I am having IllegalStateException

Exception Msg: java.lang.IllegalStateException: OAuth consumer key/secret combination not supplied

at the following line

AccessToken accessToken = twitter.getOAuthAccessToken();

I made changes some thing like following

Twitter twitter = new TwitterFactory().getInstance("login", "pass");
            twitter.setOAuthConsumer(getString(R.string.twtAPIKey), getString(R.string.twtSecret));
            AccessToken mAccessToken = twitter.getOAuthAccessToken();

and again I got exception Exception Msg: java.lang.IllegalStateException: Basic authenticated instance.

Any working example of xAuth ?


Solution

  • I ' ve used following

    
    ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
    
         configurationBuilder.setOAuthConsumerKey(Consumer__Key);
         configurationBuilder.setOAuthConsumerSecret(Consumer_Secret);
         Configuration configuration = configurationBuilder.build();
    
         Twitter twitter = new TwitterFactory(configuration).getInstance("username","password"); 
    
         AccessToken token = twitter.getOAuthAccessToken();
         System.out.println("Access Token " +token );
    
         String name = token.getScreenName();
         System.out.println("Screen Name" +name);
    
         PrintWriter out= response.getWriter();
         System.out.println(token);
    

    And successfully login to Twitter using Android app using xauth