if (networkRelation == Networker.FOLLOWERS) { getFollowerIdRemaining = rateStatus.getRemaining(); getFollowerIdResetTime = System.currentTimeMillis() + rateStatus.getSecondsUntilReset() * 1000; } else { getFollowingIdRemaining = rateStatus.getRemaining(); getFollowingIdResetTime = System.currentTimeMillis() + rateStatus.getSecondsUntilReset() * 1000;
public static JSONObject getUser(String screen_name, boolean forceReload) throws TwitterException, IOException { if (!forceReload) { JsonFactory mapcapsule = DAO.user_dump.get("screen_name",screen_name); if (mapcapsule == null) mapcapsule = DAO.user_dump.get("id_str", screen_name); if (mapcapsule != null) { JSONObject json = mapcapsule.getJSON(); if (json.length() > 0) { // check if the entry is maybe outdated, i.e. if it is empty or too old try { Date d = DAO.user_dump.parseDate(json); if (d.getTime() + DateParser.DAY_MILLIS > System.currentTimeMillis()) return json; } catch (ParseException e) { return json; } } } } TwitterFactory tf = getUserTwitterFactory(screen_name); if (tf == null) tf = getAppTwitterFactory(); if (tf == null) return new JSONObject(); Twitter twitter = tf.getInstance(); User user = twitter.showUser(screen_name); RateLimitStatus rateLimitStatus = user.getRateLimitStatus(); getUserResetTime = System.currentTimeMillis() + rateLimitStatus.getSecondsUntilReset() * 1000; getUserRemaining = rateLimitStatus.getRemaining(); JSONObject json = user2json(user); enrichLocation(json); DAO.user_dump.putUnique(json); return json; }
do { TwitterResponse response = twitter.getFollowersIDs(userId, cursor); RateLimitStatus status = response.getRateLimitStatus(); if(status.getRemaining() == 0) { try { Thread.sleep(status.getSecondsUntilReset() * 1000); } catch(InterruptedException e) { // ... } } } while(cursor > 0);
Map<String ,RateLimitStatus> rateLimitStatus = twitter.getRateLimitStatus(); for (String endpoint : rateLimitStatus.keySet()) { RateLimitStatus status = rateLimitStatus.get(endpoint); System.out.println("Endpoint: " + endpoint); System.out.println(" Limit: " + status.getLimit()); System.out.println(" Remaining: " + status.getRemaining()); System.out.println(" ResetTimeInSeconds: " + status.getResetTimeInSeconds()); System.out.println(" SecondsUntilReset: " + status.getSecondsUntilReset()); }
RateLimitStatus rateLimitStatus = getRateLimitStatus(); if (rateLimitStatus != null) { retryAfter = rateLimitStatus.getSecondsUntilReset();
@Override public Tweet showStatus(Long id) throws TwitterApiException { try { Status status = twitter.showStatus(id); Tweet.Builder tweetBuilder = new Tweet.Builder() .body(status.getText()) .datePosted(new DateTime(status.getCreatedAt())) .id(id) .poster(status.getUser().getScreenName()); prepareEntities(status, tweetBuilder); return tweetBuilder.build(); } catch (TwitterException e) { throw new TwitterApiException(e, e.exceededRateLimitation(), (e.getRateLimitStatus() != null && e.getRateLimitStatus().getSecondsUntilReset() > 0) ? e.getRateLimitStatus().getSecondsUntilReset() * 1000 : 0, e.getErrorCode()); } }