Twitter4j - 获取更旧的推文标签

时间:2014-06-13 11:29:00

标签: twitter twitter4j

我想在我的java应用程序中从twitter发送推文。我目前能够使用Twitter4J做到这一点。 这是我的代码示例 -

public static void main(String args[])
{
        ConfigurationBuilder cb = new ConfigurationBuilder();
        cb.setDebugEnabled(true);
        cb.setOAuthConsumerKey("PEBF3A1wUnNLfT83jpjGBEVNn");
        cb.setOAuthConsumerSecret("Cqcuw6xyQ2tVtkGdy76s9fQuDigyDuJwxrgMETNhfuORloNFju");
        cb.setOAuthAccessToken("2492966954-Fut0P36Enh0V1UAAVODUHSTGvYKy4lscWIEpaej");
        cb.setOAuthAccessTokenSecret("x8onfYsnZvgImnyLVd1ncwvMhwNtrieU16gTkywUZOzpP");

        TwitterStream twitterStream = new TwitterStreamFactory(cb.build()).getInstance();

        StatusListener listener = new StatusListener(){

            public void onStatus(Status status) 
            {
                System.out.println();
                System.out.println("*****************************************************************");
                User user = status.getUser();
                // gets Username
                String username = status.getUser().getScreenName();
                System.out.println(username);
                String profileLocation = user.getLocation();
                System.out.println(profileLocation);
                long tweetId = status.getId(); 
                System.out.println(tweetId);
                String content = status.getText();
                System.out.println(content +"\n");
            }
            public void onDeletionNotice(StatusDeletionNotice statusDeletionNotice) {}

            public void onTrackLimitationNotice(int numberOfLimitedStatuses) {}

            public void onException(Exception ex) {
                ex.printStackTrace();
            }

            @Override
            public void onScrubGeo(long arg0, long arg1) {
                // TODO Auto-generated method stub

            }
            @Override
            public void onStallWarning(StallWarning arg0) {
                // TODO Auto-generated method stub

            }
        };

        List<String> queries = new ArrayList<String>();
        queries.add("#carb0nx");

        twitterStream.addListener(listener);
        //twitterStream.firehose(20);

        String[] trackQueries = (String[]) queries.toArray(new String[queries.size()]);

        FilterQuery filterQuery = new FilterQuery();
        twitterStream.filter(filterQuery.track(trackQueries));
}

上述程序仅提取运行程序后为主题标签添加的推文。我想在收到新添加的推文之前收到所有旧推文。

提前致谢。enter code here

1 个答案:

答案 0 :(得分:0)

您发布的代码使用流式api。所以你只会得到新的推文。

查看此示例的旧推文:

  

https://github.com/yusuke/twitter4j/blob/master/twitter4j-examples/src/main/java/twitter4j/examples/search/SearchTweets.java

另请查看https://dev.twitter.com/docs/rate-limiting/1.1以获取REST API速率限制