2010-08-20 64 views
6

Android:我正在嘗試以下xAuth示例爲Android共享。Android Twitter xAuth示例使用twitter4j

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

我有IllegalStateException異常

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

在下面一行

AccessToken accessToken = twitter.getOAuthAccessToken(); 

我所做的更改一些東西像下面

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

,再次我有例外 Exception Msg: java.lang.IllegalStateException: Basic authenticated instance.

XAUTH的任何工作的例子嗎?

+0

您確定您的consumerKey和consumerSecret正確嗎?另外,我不認爲這會造成這樣的例外,但是他們是否在Twitter上爲您的應用程序啓用了XAuth? – DonSteep 2010-08-20 08:15:57

回答

5

我以前用過以下


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

而且採用了Android應用程序中使用XAUTH twitter4j的

+1

我嘗試了上面的代碼,它給出了以下例外消息 屏幕名稱/密碼組合似乎無效。 – 2010-08-20 06:23:03

+0

這對我有用。對於沒有時間正確學習XAuth/OAuth的人來說,這是非常有用的代碼。 – 2010-10-26 12:04:18

+0

@Faisal Khan嗨您是否已從Twitte爲xAuth啓用密鑰?可能這可能是錯誤的原因。 – 2010-10-27 04:49:15

2

版本2.2.2作爲一個細微的變化成功登錄到Twitter。這工作:

​​

記住,你的Twitter客戶端應用程序需要authorized to use xAuth在此之前的作品。