how can i implement login with twitter for my jsp/java web project

别说谁变了你拦得住时间么 提交于 2019-12-10 07:03:09

问题


I have created my project in Struts1(Java framework) . I am using my custom login form for login/authentication purpose. But my Boss wants the user to login with there Twitter Account. just like in Stackoverflow.

Same type of login i did for Facebook by calling Facebook Graph Api From json request. But i am confused for twitter login. Even i read the twitter docs from here. Still am confused. Please help me for this.


回答1:


You can check my code But you need to obtain ConsumerKey ,ConsumerSectret and accessToken from 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
}/



回答2:


It needs to be in AsyncTask context

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


来源:https://stackoverflow.com/questions/13115608/how-can-i-implement-login-with-twitter-for-my-jsp-java-web-project

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!