protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Twitter twitter = (Twitter) request.getSession().getAttribute("twitter"); RequestToken requestToken = (RequestToken) request.getSession().getAttribute("requestToken"); String verifier = request.getParameter("oauth_verifier"); try { AccessToken oAuthAccessToken = twitter.getOAuthAccessToken(requestToken, verifier); request.getSession().removeAttribute("requestToken"); String cookie = UUID.randomUUID().toString(); Cookie c = new Cookie(SigninServlet.COOKIE_NAME, cookie); c.setMaxAge(365 * 24 * 60 * 60); // one year response.addCookie(c); UserTransaction ut = (UserTransaction) new InitialContext().lookup("java:jboss/UserTransaction"); ut.begin(); User user = entityManager.find(User.class, twitter.getScreenName()); if (user == null) { user = new User(); user.setScreenName(twitter.getScreenName()); // user.setAccessToken(oAuthAccessToken.getToken()); // user.setAccessTokenSecret(oAuthAccessToken.getTokenSecret()); entityManager.persist(user); twitterCredentialManager.setAccessToken( user, oAuthAccessToken.getToken(), oAuthAccessToken.getTokenSecret()); } else { user.getFeeds().size(); user.getCircles().size(); user.getTweeters().size(); user.getSentStories().size(); if (twitterCredentialManager.getAccessToken(user) == null) { twitterCredentialManager.setAccessToken( user, oAuthAccessToken.getToken(), oAuthAccessToken.getTokenSecret()); } } Login login = new Login(); login.setCookie(cookie); login.setUser(user); entityManager.persist(login); request.getSession().setAttribute("user", user); ut.commit(); } catch (Exception e) { throw new ServletException(e); } response.sendRedirect(request.getContextPath() + "/"); }
public String getCurrentUserScreenName() { try { if (mTwitter == null) { ConfigurationBuilder confbuilder = new ConfigurationBuilder(); Configuration conf = confbuilder .setOAuthConsumerKey(Const.CONSUMER_KEY) .setOAuthConsumerSecret(Const.CONSUMER_SECRET) .build(); mTwitter = new TwitterFactory(conf).getInstance(); } SharedPreferences pref = context.getSharedPreferences(Const.PREF_NAME, Context.MODE_PRIVATE); String accessToken = pref.getString(Const.PREF_KEY_ACCESS_TOKEN, null); String accessTokenSecret = pref.getString(Const.PREF_KEY_ACCESS_TOKEN_SECRET, null); if (accessToken == null || accessTokenSecret == null) { Toast.makeText(activity, "please Login first", Toast.LENGTH_SHORT).show(); return null; } mTwitter.setOAuthAccessToken(new AccessToken(accessToken, accessTokenSecret)); return mTwitter.getScreenName(); } catch (TwitterException te) { te.printStackTrace(); } return null; }
@Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.post); twitter = ((TwittApplication) getApplication()).getTwitter(); buttonTweet = (Button) findViewById(R.id.buttonTweet); buttonTweet.setOnClickListener(this); buttonClear = (Button) findViewById(R.id.buttonClear); buttonClear.setOnClickListener(this); buttonCancel = (Button) findViewById(R.id.buttonCancel); buttonCancel.setOnClickListener(this); myName = (TextView) findViewById(R.id.myName); try { myName.setText(twitter.getScreenName()); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (TwitterException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
@RequestMapping(value = "/{username}/accountInfo", method = RequestMethod.GET) public ResponseEntity<TwitterAccountInfo> getAccountInfo(@PathVariable String username) { TwitterAccountInfo twitterAccountInfo = new TwitterAccountInfo(); TwitterCredentials twitterCredentials = twitterCredentialsService.getTwitterCredentialsForUsername(username); Twitter twitter = TwitterAppFactory.getTwitterInstance(); AccessToken accessTokenObj = new AccessToken( twitterCredentials.getAccessToken(), twitterCredentials.getAccessTokenSecret()); twitter.setOAuthAccessToken(accessTokenObj); try { String twitterScreenName = twitter.getScreenName(); User twitterUser = twitter.showUser(twitterScreenName); twitterAccountInfo.setUsername(twitterScreenName); twitterAccountInfo.setFullName(twitterUser.getName()); twitterAccountInfo.setProfileImageUrl(twitterUser.getProfileImageURL()); twitterAccountInfo.setFollowersCount(twitterUser.getFollowersCount()); twitterAccountInfo.setFriendsCount(twitterUser.getFriendsCount()); } catch (Exception e) { LOG.warn(e.getMessage()); return new ResponseEntity<TwitterAccountInfo>(HttpStatus.BAD_REQUEST); } return new ResponseEntity<TwitterAccountInfo>(twitterAccountInfo, HttpStatus.OK); }
@Override public String getScreenName() { try { return twitter.getScreenName(); } catch (IllegalStateException e) { throw new ScriptusRuntimeException(e); } catch (TwitterException e) { throw new ScriptusRuntimeException(e); } }
/** Start listening to tweets. */ public void start() throws IllegalStateException, TwitterException { twitter = new TwitterFactory().getInstance(); stream = new TwitterStreamFactory().getInstance(); LOGGER.info("Connected to Twitter as: {}", twitter.getScreenName()); LOGGER.info("Starting the Twitter stream listener"); stream.addListener(new GetMentionsListener(twitter)); stream.user(); // Start reading to user stream }
/** * Remove all user lists irrelevant of creation date since that information is not exposed via * twitter/ twitter4j. Note: Not time aware. */ private void removeLists() { try { ResponseList<UserList> lists = twitter.getUserLists(twitter.getScreenName()); for (UserList list : lists) { twitter.destroyUserList(list.getId()); } } catch (TwitterException e) { logger.error("Twitter exception occurred", e); } }
/** * データストアに保存しておいたアクセストークンからTwitterインスタンスを生成する。 * * @param botname * @return */ public static Twitter getTwitter(User user) { if (user == null) { return null; } try { Twitter twitter = new TwitterFactory() .getInstance(new AccessToken(user.getAccessToken(), user.getAccessSecret())); twitter.getScreenName(); return twitter; } catch (TwitterException e) { log.info("ユーザー情報の取得に失敗しました。ユーザー:[" + user.getScreenName() + "]"); return null; } }
public void searchUser() { List<Entity> users = DataFramework.getInstance() .getEntityList("users", "service is null or service = \"twitter.com\""); boolean timeline = preferences.getBoolean("prf_notif_in_timeline", false); boolean mentions = preferences.getBoolean("prf_notif_in_mentions", true); boolean dms = preferences.getBoolean("prf_notif_in_direct", true); for (int i = 0; i < users.size(); i++) { try { if (!PreferenceUtils.getStatusWorkApp(context)) { loadUser(users.get(i).getId()); Log.d(Utils.TAG_ALARM, "Cargar en background usuario " + twitter.getScreenName()); } UserNotifications userNotification = new UserNotifications(); userNotification.setName(users.get(i).getString("name")); userNotification.setId(users.get(i).getId()); // TIMELINE if (TweetTopicsUtils.hasColumn(users.get(i).getId(), TweetTopicsUtils.COLUMN_TIMELINE)) { EntityTweetUser etuTimeline = new EntityTweetUser(users.get(i).getId(), TweetTopicsUtils.TWEET_TYPE_TIMELINE); if (!PreferenceUtils.getStatusWorkApp(context) && type != OnAlarmReceiver.ALARM_ONLY_OTHERS) { InfoSaveTweets info = etuTimeline.saveTweets(context, twitter); if (info.getNewMessages() > 0 && timeline) { userNotification.setIdsTimeline(info.getIds()); } } totalTimelineADW += etuTimeline.getValueNewCount(); } // MENTIONS if (TweetTopicsUtils.hasColumn(users.get(i).getId(), TweetTopicsUtils.COLUMN_MENTIONS)) { EntityTweetUser etuMentions = new EntityTweetUser(users.get(i).getId(), TweetTopicsUtils.TWEET_TYPE_MENTIONS); if (!PreferenceUtils.getStatusWorkApp(context) && type != OnAlarmReceiver.ALARM_ONLY_TIMELINE) { InfoSaveTweets info = etuMentions.saveTweets(context, twitter); if (info.getNewMessages() > 0 && mentions) { userNotification.setIdsMentions(info.getIds()); } } totalMentionsADW += etuMentions.getValueNewCount(); } // DIRECTOS if (TweetTopicsUtils.hasColumn( users.get(i).getId(), TweetTopicsUtils.COLUMN_DIRECT_MESSAGES)) { EntityTweetUser etuDMs = new EntityTweetUser(users.get(i).getId(), TweetTopicsUtils.TWEET_TYPE_DIRECTMESSAGES); if (!PreferenceUtils.getStatusWorkApp(context) && type != OnAlarmReceiver.ALARM_ONLY_TIMELINE) { InfoSaveTweets info = etuDMs.saveTweets(context, twitter); if (info.getNewMessages() > 0 && dms) { userNotification.setIdsDMs(info.getIds()); } } totalDMsAWD += etuDMs.getValueNewCount(); } // DIRECTOS ENVIADOS if (!PreferenceUtils.getStatusWorkApp(context) && type != OnAlarmReceiver.ALARM_ONLY_TIMELINE) { EntityTweetUser etuSentDMs = new EntityTweetUser( users.get(i).getId(), TweetTopicsUtils.TWEET_TYPE_SENT_DIRECTMESSAGES); etuSentDMs.saveTweets(context, twitter); } mUserNotifications.add(userNotification); } catch (Exception ex) { ex.printStackTrace(); } } }