2

我正在使用 twitter4j 从 Twitter 检索推文。众所周知,我们只能检索不到 7 天的推文。此外,我们只能获得 100 条实时推文。但我想检索的不止这些。经过搜索,我发现我们可以使用setSincesetUntil获得超过 100 条推文。但是当我使用setSinceand时setUntil,我仍然只能获得实时推文。此外,我想知道如何将我的推文解析为json 格式
这是我的代码:

public static void main(String[] args) throws TwitterException, IOException, ClassNotFoundException, IllegalAccessException, InstantiationException, SQLException 
    {

        ConfigurationBuilder cb = new ConfigurationBuilder();
        cb.setDebugEnabled(true)
                .setOAuthConsumerKey("XXX")
                .setOAuthConsumerSecret("XXX")
                .setOAuthAccessToken("XXX")
                .setOAuthAccessTokenSecret("XX");
        TwitterFactory tf = new TwitterFactory(cb.build());
        Twitter twitter = tf.getInstance();
        Query query = new Query("KEYWORD");
        query.setCount(100);
        query.setSince("2013-06-27");
        query.setUntil("2013-07-02");
        query.geoCode(new GeoLocation(XXX, XXX), 200, Query.KILOMETERS);
        QueryResult result = twitter.search(query);
        System.out.println(result);
}
4

2 回答 2

0

例如,如果您尝试在搜索中获取 1000 条最新推文,则应使用query.setMaxId()上一批中最低的 # - 1。如果您在上次查询后尝试获取新的(er)推文,则应使用从上一批query.setSinceId()返回的值开始。result.getMaxId()

这里

于 2013-07-02T08:36:40.690 回答
0

您可以使用而不是查询getUserTimeline(userid, page)

int tweetCount = 250;
long userId = 12312323;  
twitter.getUserTimeline(userId, new Paging(1, tweetCount));

文档:http: //twitter4j.org/oldjavadocs/3.0.0/twitter4j/api/TimelinesResources.html#getUserTimeline%28long,%20twitter4j.Paging%29

于 2013-07-02T08:39:09.620 回答