2012-10-29 15 views
4

我已經在Struts1(Java框架)中創建了我的項目。我正在使用我的自定義登錄表單進行登錄/身份驗證。但我的老闆希望用戶使用Twitter帳戶登錄。就像在Stackoverflow中一樣。我如何使用twitter爲我的jsp/java web項目實現登錄

我通過調用Facebook Graph Api從Facebook做的同一類型的登錄來自json請求。但我很困惑的Twitter登錄。即使我閱讀了twitter文檔from here。還是很困惑。請幫助我。

+0

我做到了獲得ConsumerKey,ConsumerSectret和的accessToken ..這很容易。 –

回答

4

您可以檢查我的代碼,但你需要從Twitter

import twitter4j.Twitter; 
import twitter4j.TwitterException; 
import twitter4j.TwitterFactory; 
import twitter4j.auth.AccessToken; 
import twitter4j.auth.RequestToken; 

public class TwitterUtils { 

public static void main(String[] args) { 
    try { 

     final String consumerKey = "**********"; 
     final String consumerSecret = "**********"; 
     Twitter twitter = new TwitterFactory().getInstance(); 
     twitter.setOAuthConsumer(consumerKey, consumerSecret); 
     RequestToken requestToken = twitter.getOAuthRequestToken(); 

     String token = requestToken.getToken(); 
     String tokenSecret = requestToken.getTokenSecret(); 
     System.out.println("My token :: " + token); 
     System.out.println("My token Secret :: " + tokenSecret); 

     //AccessToken a = new AccessToken(token, tokenSecret); 
     //twitter.setOAuthAccessToken(a); 
     twitter.updateStatus("If you're reading this on Twitter, it worked!"); 

    } catch (TwitterException e) { 
     e.printStackTrace(); 
    } 
}//main 
}/ 
0

它需要通過twitter4j庫是在上下文中的AsyncTask

final String consumerKey = "**********"; 
    final String consumerSecret = "*********"; 


    new AsyncTask<Void, Void, RequestToken>(){ 
     @Override 
     protected RequestToken doInBackground(Void... voids) { 
      try { 
       Twitter twitter = new TwitterFactory().getInstance(); 
       twitter.setOAuthConsumer(consumerKey, consumerSecret); 

       RequestToken requestToken = twitter.getOAuthRequestToken(); 
       return requestToken; 
      } catch (TwitterException e) { 
       e.printStackTrace(); 
       return null; 
      } 
     } 

     @Override 
     protected void onPostExecute(RequestToken requestToken) { 
      super.onPostExecute(requestToken); 
      if(requestToken == null) 
       return; 
      String token = requestToken.getToken(); 
      String tokenSecret = requestToken.getTokenSecret(); 
      Log.i("INFO", "My token :: " + token); 
      Log.i("INFO", "My token Secret :: " + tokenSecret); 
     } 
    }.execute(); 
相關問題