public void testDeterministic() throws Exception { ArrayList list1 = new ArrayList(); ArrayList list2 = new ArrayList(); assertEquals(list1, list2); Twitter twitter1 = new Twitter(); twitter1.setOAuthConsumer(browserConsumerKey, browserConsumerSecret); Twitter twitter2 = new Twitter(); twitter2.setOAuthConsumer(browserConsumerKey, browserConsumerSecret); assertEquals(twitter1, twitter2); }
public boolean connect() throws InterruptedException { twitter = new TwitterFactory().getInstance(); twitter.setOAuthConsumer(TwitterApp.CONSUMER_KEY, TwitterApp.CONSUMER_SECRET); Session session = HibernateUtil.openSession(); while (true) { try { RequestToken requestToken = twitter.getOAuthRequestToken(); AccessToken accessToken = getAccessToken(session, TwitterApp.TWITTER_USER); while (null == accessToken) { Desktop.getDesktop().browse(new URI(requestToken.getAuthorizationURL())); String pin = JOptionPane.showInputDialog( null, "Insert OAuth Twitter PIN", "Twitter", JOptionPane.ERROR_MESSAGE); accessToken = twitter.getOAuthAccessToken(requestToken, pin); if (accessToken != null) saveAccessToken(session, accessToken.getToken(), accessToken.getTokenSecret()); } twitter = new TwitterFactory() .getOAuthAuthorizedInstance( TwitterApp.CONSUMER_KEY, TwitterApp.CONSUMER_SECRET, accessToken); } catch (Exception e) { System.err.println(e.getMessage()); session.close(); Thread.sleep(60000); return false; } session.close(); return true; } }
public Collection<Tweet> requestTweetsByUser(String otherUser) { List<Tweet> tweets = new ArrayList<Tweet>(); try { // The factory instance is re-useable and thread safe. Twitter twitter = new TwitterFactory().getInstance(); AccessToken accessToken = loadAccessToken(1); twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET); twitter.setOAuthAccessToken(accessToken); System.out.println("Fetching latest 100 tweets for [" + otherUser + "]"); // First param of Paging() is the page number, second is the number per page (this is capped // around 200 I think. Paging paging = new Paging(1, 100); List<Status> statuses = twitter.getUserTimeline(otherUser, paging); for (Status status : statuses) { tweets.add( new Tweet( otherUser, status.getText(), (status.getGeoLocation() != null ? status.getGeoLocation().getLatitude() + "," + status.getGeoLocation().getLongitude() : ""))); System.out.println( status.getUser().getName() + "(" + status.getGeoLocation() + "):" + status.getText()); } } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e); } return tweets; }
private void tweet(String tweetText) { // SharedPreferencesからtokenとtoken secretの取得 SharedPreferences spObj = getSharedPreferences("token", MODE_PRIVATE); String tokenStr = spObj.getString("token", ""); String tokenSecretStr = spObj.getString("token_seacret", ""); // twitterオブジェクトの作成 Twitter tw = new TwitterFactory().getInstance(); // AccessTokenオブジェクトの作成 AccessToken at = new AccessToken(tokenStr, tokenSecretStr); // Consumer keyとConsumer key seacretの設定 tw.setOAuthConsumer("iy2FEHXmSXNReJ6nYQ8FRg", "KYro4jM8BHlLSMsSdTylnTcm3pYaTCiG2UZrYK1yI4"); // AccessTokenオブジェクトを設定 tw.setOAuthAccessToken(at); // ツイート送信 try { tw.updateStatus(tweetText); } catch (TwitterException e) { e.printStackTrace(); Toast.makeText(this, "ネットーワークの問題です", Toast.LENGTH_LONG); } }
private static void primeiraTwittada() throws TwitterException, IOException { Twitter twitter = TwitterFactory.getSingleton(); twitter.setOAuthConsumer("HSPokkXFfwsjWwTGy8kfw", "zMNRv0G9kORPiSXcJuPrnWFOBESewPirr8Lf6fRLpA"); RequestToken requestToken = twitter.getOAuthRequestToken(); AccessToken accessToken = null; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); while (null == accessToken) { System.out.println("Open the following URL and grant access to your account:"); System.out.println(requestToken.getAuthorizationURL()); System.out.print("Enter the PIN(if aviailable) or just hit enter.[PIN]:"); String pin = br.readLine(); try { if (pin.length() > 0) { accessToken = twitter.getOAuthAccessToken(requestToken, pin); } else { accessToken = twitter.getOAuthAccessToken(); } } catch (TwitterException te) { if (401 == te.getStatusCode()) { System.out.println("Unable to get the access token."); } else { te.printStackTrace(); } } } // persist to the accessToken for future reference. storeAccessToken(twitter.verifyCredentials().getId(), accessToken); Status status = twitter.updateStatus("GO GO GO"); System.out.println("Successfully updated the status to [" + status.getText() + "]."); System.exit(0); }
private void initTwitter() { mTwitter = TwitterFactory.getSingleton(); mTwitter.setOAuthConsumer( Configuration.INSTANCE.consumerToken, Configuration.INSTANCE.consumerSecret); mTwitter.setOAuthAccessToken( new AccessToken(Configuration.INSTANCE.accessToken, Configuration.INSTANCE.accessSecret)); }
public static Twitter getTwitterInstance() { TwitterFactory factory = new TwitterFactory(); Twitter twitter = factory.getInstance(); twitter.setOAuthConsumer(getConsumerKey(), getConsumerSecret()); return twitter; }
// Constructor public Twitter() { config = Configuration.getInstance(); twitterConfig = config.getTwitterConfig("twitter"); // HACK token = twitterConfig.getToken(); twitter.setOAuthConsumer( twitterConfig.getToken().getToken(), twitterConfig.getToken().getTokenSecret()); earlier = new Date(System.currentTimeMillis() - config.getDelta()); }
public Twitter getTwitter() { twitter = (new TwitterFactory()).getInstance(); twitter.setOAuthConsumer( TwitterPrivateKeyAndSecret.CONSUMER_KEY, TwitterPrivateKeyAndSecret.CONSUMER_SECRET); twitter.setOAuthAccessToken(loadAccessToken()); return twitter; }
private ArrayAdapter<String> getTimeline() { SharedPreferences sp = getSharedPreferences("token", MODE_PRIVATE); String token = sp.getString("token", ""); String tokenSecret = sp.getString("token_seacret", ""); // twitterオブジェクトの作成 Twitter tw = new TwitterFactory().getInstance(); // AccessTokenオブジェクトの作成 AccessToken at = new AccessToken(token, tokenSecret); // Consumer keyとConsumer key seacretの設定 tw.setOAuthConsumer("iy2FEHXmSXNReJ6nYQ8FRg", "KYro4jM8BHlLSMsSdTylnTcm3pYaTCiG2UZrYK1yI4"); // AccessTokenオブジェクトを設定 tw.setOAuthAccessToken(at); try { // TLの取得 ResponseList<Status> homeTl = tw.getHomeTimeline(); ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1); for (Status status : homeTl) { // つぶやきのユーザーIDの取得 String userName = status.getUser().getScreenName(); // つぶやきの取得 String tweet = status.getText(); adapter.add("ユーザーID:" + userName + "\r\n" + "tweet:" + tweet); } Status s = homeTl.get(homeTl.size()); Paging p = new Paging(); p.setMaxId(s.getId()); homeTl = null; homeTl = tw.getHomeTimeline(p); for (Status status : homeTl) { // つぶやきのユーザーIDの取得 String userName = status.getUser().getScreenName(); // つぶやきの取得 String tweet = status.getText(); adapter.add("ユーザーID:" + userName + "\r\n" + "tweet:" + tweet); } return adapter; } catch (TwitterException e) { e.printStackTrace(); if (e.isCausedByNetworkIssue()) { Toast.makeText(getApplicationContext(), "ネットワークに接続して下さい", Toast.LENGTH_LONG); } else { Toast.makeText(getApplicationContext(), "エラーが発生しました。", Toast.LENGTH_LONG); } } return null; }
public void testDesktopClient() throws Exception { RequestToken rt; Twitter twitter = new Twitter(); HttpClient http; HttpResponse response; String resStr; String authorizeURL; HttpParameter[] params; AccessToken at; String cookie; http = new HttpClient(); // desktop client - requiring pin unauthenticated.setOAuthConsumer(desktopConsumerKey, desktopConsumerSecret); rt = unauthenticated.getOAuthRequestToken(); // trying to get an access token without permitting the request token. try { rt.getAccessToken(); fail(); } catch (TwitterException te) { assertEquals(401, te.getStatusCode()); } twitter.setOAuthConsumer(desktopConsumerKey, desktopConsumerSecret); rt = twitter.getOAuthRequestToken(); // trying to get an access token without permitting the request token. try { twitter.getOAuthAccessToken(rt.getToken(), rt.getTokenSecret()); fail(); } catch (TwitterException te) { assertEquals(401, te.getStatusCode()); } Map<String, String> props = new HashMap<String, String>(); response = http.get(rt.getAuthorizationURL()); cookie = response.getResponseHeader("Set-Cookie"); // http.setRequestHeader("Cookie", cookie); props.put("Cookie", cookie); resStr = response.asString(); authorizeURL = catchPattern(resStr, "<form action=\"", "\" id=\"login_form\""); params = new HttpParameter[4]; params[0] = new HttpParameter( "authenticity_token", catchPattern(resStr, "\"authenticity_token\" type=\"hidden\" value=\"", "\" />")); params[1] = new HttpParameter( "oauth_token", catchPattern(resStr, "name=\"oauth_token\" type=\"hidden\" value=\"", "\" />")); params[2] = new HttpParameter("session[username_or_email]", id1.screenName); params[3] = new HttpParameter("session[password]", id1.pass); response = http.request(new HttpRequest(RequestMethod.POST, authorizeURL, params, null, props)); resStr = response.asString(); String pin = catchPattern(resStr, "<div id=\"oauth_pin\">\n ", "\n</div>"); at = twitter.getOAuthAccessToken(rt.getToken(), rt.getTokenSecret(), pin); assertEquals(at.getScreenName(), id1.screenName); assertEquals(at.getUserId(), 6358482); }
@Override public void publishUuid(TwitterStatusMessage message) throws Exception { Twitter twitter = new TwitterFactory().getInstance(); twitter.setOAuthConsumer(consumerKeyStr, consumerSecretStr); AccessToken accessToken = new AccessToken(accessTokenStr, accessTokenSecretStr); twitter.setOAuthAccessToken(accessToken); twitter.updateStatus(message.getTwitterPublicationString()); }
private static void twittarAlgo() throws TwitterException { TwitterFactory factory = new TwitterFactory(); AccessToken accessToken = loadAccessToken(); Twitter twitter = factory.getInstance(); twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET); twitter.setOAuthAccessToken(accessToken); Status status = twitter.updateStatus("go go go go"); System.out.println("Successfully updated the status to [" + status.getText() + "]."); System.exit(0); }
/** * Verifica se o programa já tem acesso a conta do usuario, caso negativo redireciona para pagina, * que gera uma autorização. * * @throws TwitterException * @throws IllegalStateException */ @RequestMapping(value = "/verificaAcessoTwitter") public String verificaAcessoTwitter(ModelMap modelMap) throws IllegalStateException, TwitterException { Usuario usuarioAutorizado = usuarioService.getUsuarioByLogin( SecurityContextHolder.getContext().getAuthentication().getName()); Twitter twitter = null; RequestToken requestToken = null; if (usuarioAutorizado.getAutorizacaoTwitter() != null) { twitter = new TwitterFactory().getInstance(); twitter.setOAuthConsumer( "bVqAzGbuR5jsOTDstph9XB1dM", "vi9xVqIc1oMQAydQYIVgbo0GvO4XWwPjdhtJpjAUk6yv19vdDO"); AccessToken accessToken = new AccessToken( usuarioAutorizado.getAutorizacaoTwitter().getToken(), usuarioAutorizado.getAutorizacaoTwitter().getTokenSecret()); twitter.setOAuthAccessToken(accessToken); cadastroIdTwitterAmigos1E2Grau(usuarioAutorizado, twitter); return "redirect:/usuario/listar"; } try { twitter = new TwitterFactory().getInstance(); twitter.setOAuthConsumer( "bVqAzGbuR5jsOTDstph9XB1dM", "vi9xVqIc1oMQAydQYIVgbo0GvO4XWwPjdhtJpjAUk6yv19vdDO"); requestToken = twitter.getOAuthRequestToken(); } catch (TwitterException e) { // TODO Auto-generated catch block e.printStackTrace(); } // AccessToken accessToken = null; String url = requestToken.getAuthorizationURL(); // System.out.println(twitter.getId()); AutorizacaoTwitterRequest autorizacaoTwitterRequest = new AutorizacaoTwitterRequest(); autorizacaoTwitterRequest.setRequestToken(requestToken); autorizacaoTwitterRequest.setTwitter(twitter); autorizacaoTwitterRequestService.save(autorizacaoTwitterRequest); modelMap.addAttribute("url", url); modelMap.addAttribute("id", autorizacaoTwitterRequest.getId()); modelMap.addAttribute("pin", new Pin()); return "usuario/autorizacaoTwitter"; }
public Twitter getTwitterProxy() throws TwitterException { if (twitter == null) { TwitterFactory tf = new TwitterFactory(); twitter = tf.getInstance(); twitter.setOAuthConsumer(getConsumerKey(), getConsumerSecret()); twitter.setOAuthAccessToken(new AccessToken(getAccessToken(), getAccessTokenSecret())); } return twitter; }
/** Constructs an instance. */ public TwitterTools() { ourConsumerKey = "z5zRan2VqwBMLdq5VMRzXA"; ourConsumerSecret = "T7whmI8IBtcHUEBNsWoQhu39f68loybHOmSYl8DMDg"; myTwitter = TwitterFactory.getSingleton(); myTwitter.setOAuthConsumer(ourConsumerKey, ourConsumerSecret); try { myRequestToken = myTwitter.getOAuthRequestToken(); } catch (TwitterException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
public void tweetNote(String symbol) { HttpSession session = super.getThreadLocalRequest().getSession(); Twitter twitter = new TwitterFactory().getInstance(); twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET); AccessToken accessToken = (AccessToken) session.getAttribute("accessToken"); twitter.setOAuthAccessToken(accessToken); try { Status status = twitter.updateStatus(symbol); } catch (TwitterException e) { e.printStackTrace(); } }
private static List<Status> buscarTag(String tag) throws TwitterException { TwitterFactory factory = new TwitterFactory(); AccessToken accessToken = loadAccessToken(); Twitter twitter = factory.getInstance(); twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET); twitter.setOAuthAccessToken(accessToken); Query query = new Query(tag); query.setCount(100); QueryResult result = twitter.search(query); // printResultadosConsulta(result); return result.getTweets(); }
// @Override protected void onResume() { super.onResume(); // TwitterTask task = new TwitterTask(); // task.execute(null); oConfigTrainer = ExerciseUtils.loadConfiguration(getApplicationContext(), true); mPrefs = getSharedPreferences(Const.PREFERENCE_NAME, MODE_PRIVATE); oTwitter = new TwitterFactory().getInstance(); oTwitter.setOAuthConsumer(Const.CONSUMER_KEY, Const.CONSUMER_SECRET); if (mPrefs.contains(PREF_ACCESS_TOKEN)) { Log.i(this.getClass().getCanonicalName(), "Repeat User"); loginAuthorisedUser(); } else { Log.i(this.getClass().getCanonicalName(), "New User"); loginNewUser(); } }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.twitter_add); accountdb = new AccountDB(this); twitter = new TwitterFactory().getInstance(); twitter.setOAuthConsumer(consumerKey, consumerSecret); try { rqToken = twitter.getOAuthRequestToken(CALLBACK_URL.toString()); } catch (TwitterException e) { e.printStackTrace(); } token = rqToken.getToken(); stoken = rqToken.getTokenSecret(); startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(rqToken.getAuthorizationURL()))); }
public void tweet(String tweet) { Twitter twitter = new TwitterFactory().getInstance(); twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_KEY_SECRET); AccessToken oathAccessToken = new AccessToken(ACCESS_TOKEN, ACCESS_TOKEN_SECRET); twitter.setOAuthAccessToken(oathAccessToken); try { LoggerUtils.info("Tweeting: " + tweet); twitter.updateStatus(tweet); } catch (TwitterException ex) { LoggerUtils.warning(plugin, "Failed to Submit Tweet."); } LoggerUtils.info(plugin, "Tweet Successfully Sent"); }
private List<User> getUserDataFromTwitterID(long[] userIdList, String userName) { if (userIdList != null) { try { Twitter twitter = new TwitterFactory().getInstance(); twitter.setOAuthConsumer(consumerKey, consumerSecret); AccessToken accessToken = new AccessToken(accessTokenStr, accessTokenSecretStr); twitter.setOAuthAccessToken(accessToken); ResponseList<User> list = twitter.lookupUsers(userIdList); logger.info("Successfully looked up in Twitter by ID, size of list: " + list.size()); return (list != null ? list : new ArrayList<User>()); } catch (Exception e) { logger.error("Exception while getting user Data from TwitterId for user: " + userName, e); } } return new ArrayList<User>(); }
public void testBrowserClientWithCustomCallback() throws Exception { RequestToken rt; Twitter twitter = new Twitter(); HttpClient http; HttpResponse response; String resStr; String authorizeURL; HttpParameter[] params; AccessToken at; String cookie; http = new HttpClient(); // browser client - not requiring pin / overriding callback url twitter = new Twitter(); twitter.setOAuthConsumer(browserConsumerKey, browserConsumerSecret); rt = twitter.getOAuthRequestToken("http://yusuke.homeip.net/twitter4j/custom_callback"); http = new HttpClient(); System.out.println("AuthorizationURL: " + rt.getAuthorizationURL()); response = http.get(rt.getAuthorizationURL()); Map<String, String> props = new HashMap<String, String>(); cookie = response.getResponseHeader("Set-Cookie"); // http.setRequestHeader("Cookie", cookie); props.put("Cookie", cookie); resStr = response.asString(); authorizeURL = catchPattern(resStr, "<form action=\"", "\" id=\"login_form\""); params = new HttpParameter[4]; params[0] = new HttpParameter( "authenticity_token", catchPattern(resStr, "\"authenticity_token\" type=\"hidden\" value=\"", "\" />")); params[1] = new HttpParameter( "oauth_token", catchPattern(resStr, "name=\"oauth_token\" type=\"hidden\" value=\"", "\" />")); params[2] = new HttpParameter("session[username_or_email]", id1.screenName); params[3] = new HttpParameter("session[password]", id1.pass); response = http.request(new HttpRequest(RequestMethod.POST, authorizeURL, params, null, props)); // response = http.post(authorizeURL, params); resStr = response.asString(); String oauthVerifier = catchPattern(resStr, "&oauth_verifier=", "\">"); at = twitter.getOAuthAccessToken(rt.getToken(), rt.getTokenSecret(), oauthVerifier); assertEquals(at.getScreenName(), id1.screenName); assertEquals(at.getUserId(), 6358482); }
public void testSigninWithTwitter() throws Exception { RequestToken rt; Twitter twitter = new TwitterFactory().getInstance(); HttpClient http; HttpResponse response; String resStr; String authorizeURL; HttpParameter[] params; AccessToken at; String cookie; http = new HttpClient(); // browser client - not requiring pin twitter.setOAuthConsumer(browserConsumerKey, browserConsumerSecret); rt = twitter.getOAuthRequestToken(); Map<String, String> props = new HashMap<String, String>(); response = http.get(rt.getAuthenticationURL()); cookie = response.getResponseHeader("Set-Cookie"); // http.setRequestHeader("Cookie", cookie); props.put("Cookie", cookie); resStr = response.asString(); authorizeURL = catchPattern(resStr, "<form action=\"", "\" id=\"login_form\""); params = new HttpParameter[4]; params[0] = new HttpParameter( "authenticity_token", catchPattern(resStr, "\"authenticity_token\" type=\"hidden\" value=\"", "\" />")); params[1] = new HttpParameter( "oauth_token", catchPattern(resStr, "name=\"oauth_token\" type=\"hidden\" value=\"", "\" />")); params[2] = new HttpParameter("session[username_or_email]", id1.screenName); params[3] = new HttpParameter("session[password]", id1.pass); response = http.request(new HttpRequest(RequestMethod.POST, authorizeURL, params, null, props)); // response = http.post(authorizeURL, params); at = twitter.getOAuthAccessToken(rt.getToken(), rt.getTokenSecret()); assertEquals(at.getScreenName(), id1.screenName); assertEquals(at.getUserId(), 6358482); }
protected void prepareTwitter(FeedService feedService, TwitterCredentials credentials) { List<Feed> feeds = feedService.getFeedsToUpdate(Type.TWITTER); Twitter twitter = new Twitter(); twitter.setOAuthConsumer(credentials.getConsumerKey(), credentials.getConsumerSecret()); for (int counter = 0; counter < feeds.size(); counter++) { if (counter >= maxPerRun) { logger.warn( "Hit processing limit of: " + maxPerRun + ", There are " + (feeds.size() - maxPerRun) + " left to process."); break; } Feed f = feeds.get(counter); feedService.loadTwitterFeed(f, twitter); } }
@Override public TwitterInfo login() { Twitter twitter = new TwitterFactory().getInstance(); twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET); HttpSession session = super.getThreadLocalRequest().getSession(); HttpServletRequest request = this.getThreadLocalRequest(); String oauthVerifier = getOauthVerifier(request); User user = getUserLogin(twitter, session, oauthVerifier); if (user != null) { TwitterInfo result = new TwitterInfo(); result.setUser(user.getName()); return result; } else { TwitterInfo result = requestToken(twitter, session); return result; } }
private String getLatestTweet(String searchingFor) { Twitter twitter = new TwitterFactory().getInstance(); AccessToken accessToken = new AccessToken( "2453751158-IVD2VGZsvwZiRKxNe3Gs2lMjg30nvSkV1xSuPFf", "vBa5PjKfuMTK1LLBG51nCUI9r5d6Ph5cAHrS73spg6Nvu"); twitter.setOAuthConsumer( "YqeZdD2hYxOKv4QOkmp0i2djN", "6XUB1r8KXBvd8Pk9HHW3NgphMxHvHWBLAr5TihnckMU0ttyGST"); twitter.setOAuthAccessToken(accessToken); Query query = new Query(searchingFor); try { QueryResult result = twitter.search(query); return result.getTweets().get(0).getText(); } catch (Exception e) { System.err.print(e.getMessage()); return "What the heck is that?"; } }
@Override public void initialize(final URL location, final ResourceBundle resources) { String consumerKey = OAuth.getConsumerKey(); String consumerKeySec = OAuth.getConsumerKeySec(); // 外部テキストから読み込む(直接入力でも可) twitter.setOAuthConsumer(consumerKey, consumerKeySec); AccessToken accessToken = OAuth.loadAccessToken(); // OAuth認証 if (accessToken == null) { accessToken = OAuth.getOAuthAccessToken(twitter); OAuth.storeAccessToken(accessToken); } else { twitter.setOAuthAccessToken(accessToken); } // ユーザ情報の管理 try { reloadHomeTL(lastStatusId); } catch (TwitterException e) { e.printStackTrace(); } /* for(UserInfo userInfo : userInfoList){ observableList.add(0, userInfo); } listView.setItems(observableList); */ lastStatusId = homeTL.get(0).getId(); // API制限の確認(コンソール) rateLimit = homeTL.getRateLimitStatus(); // セル生成 listView.setCellFactory( new Callback<ListView<UserInfo>, ListCell<UserInfo>>() { @Override public ListCell<UserInfo> call(ListView<UserInfo> list) { return new UserInfoCell(); } }); }
@Override public Response performLogin(AuthenticationRequest request) { try { Twitter twitter = new TwitterFactory().getInstance(); twitter.setOAuthConsumer(getConfig().getClientId(), getConfig().getClientSecret()); URI uri = new URI(request.getRedirectUri() + "?state=" + request.getState()); RequestToken requestToken = twitter.getOAuthRequestToken(uri.toString()); ClientSessionModel clientSession = request.getClientSession(); clientSession.setNote("twitter_token", requestToken.getToken()); clientSession.setNote("twitter_tokenSecret", requestToken.getTokenSecret()); URI authenticationUrl = URI.create(requestToken.getAuthenticationURL()); return Response.temporaryRedirect(authenticationUrl).build(); } catch (Exception e) { throw new IdentityBrokerException("Could send authentication request to twitter.", e); } }
@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String action = req.getParameter(Pages.PARAM_ACTION); if (action == null) { resp.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED); return; } Twitter twitter = new Twitter(); twitter.setOAuthConsumer( ApplicationProperty.read(ApplicationProperty.CONSUMER_KEY), ApplicationProperty.read(ApplicationProperty.CONSUMER_SECRET)); log.warning( "action=" + action + ", Using consumer key " + ApplicationProperty.read(ApplicationProperty.CONSUMER_KEY) + ", isTesting()=" + ApplicationProperty.isTesting()); try { User user = AuthFilter.getCurrentUser(req).getOpenId(); if (ApplicationProperty.isTesting() && action.equalsIgnoreCase(Pages.PARAM_ACTION_ADD)) { saveToken("token", "tokenSecret", "papaya_" + (new Date().getTime()), user); resp.sendRedirect(Pages.PAGE_MAIN); } else if (action.equalsIgnoreCase(Pages.PARAM_ACTION_ADD)) { RequestToken requestToken = twitter.getOAuthRequestToken(); log.warning( "requestToken=" + requestToken + ", token=" + requestToken.getToken() + ", secret=" + requestToken.getTokenSecret() + ", url=" + requestToken.getAuthorizationURL()); resp.addCookie(new Cookie(COOKIE_TOKEN, requestToken.getToken())); resp.addCookie(new Cookie(COOKIE_TOKEN_SECRET, requestToken.getTokenSecret())); resp.sendRedirect(requestToken.getAuthorizationURL()); } else if (action.equalsIgnoreCase(Pages.PARAM_OAUTH)) { String token = null, tokenSecret = null; Cookie[] cookies = req.getCookies(); log.warning("back from twitter, req=" + req.getQueryString()); for (Cookie cookie : cookies) { if (cookie.getName().equals(COOKIE_TOKEN)) { token = cookie.getValue(); } if (cookie.getName().equals(COOKIE_TOKEN_SECRET)) { tokenSecret = cookie.getValue(); } } AccessToken accessToken = twitter.getOAuthAccessToken(token, tokenSecret); if (accessToken == null) { log.warning( "twitter token cann't be retrieved for token=" + token + ", secret=" + tokenSecret); } this.saveToken(accessToken, user); resp.sendRedirect(Pages.PAGE_MAIN); } else if (action.equalsIgnoreCase(Pages.PARAM_ACTION_DELETE)) { this.deleteToken(req.getParameter(Pages.PARAM_SCREENNAME), user); resp.getWriter().write("Delete Successful"); } else { resp.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED); } } catch (TwitterException e) { e.printStackTrace(resp.getWriter()); } catch (Exception e) { e.printStackTrace(resp.getWriter()); } }