Twitter4j - 使用"和"使用多个查询字词搜索推文操作员不工作

时间:2016-08-08 23:37:03

标签: java twitter4j

我尝试使用twitter4j检索一组给定搜索字词的推文。

我可以成功检索只有一个术语的查询或使用OR运算符的查询的推文,但是当我在查询中输入AND条件时,我得到零结果。我已经完成了相同的查询on Twitter's search bar,我得到了数百个结果。

看起来this page引用了类似的问题,但没有列出的解决方案。

我想获得查询的结果" #treet java"

这是我完成搜索的方法......

// queryString = "#treet" - works
// queryString = "java" - works
// queryString = "#treet OR java" - works
// queryString = "#treet java" - doesn't work
// queryString = "#treet AND java" - doesn't work

public static Treet[] loadAndSaveRemote() {
        Twitter twitter = TwitterFactory.getSingleton();
        Query query = new Query();
        query.setQuery(queryString);
        query.setCount(100);
        QueryResult result = null;

        try {
            result = twitter.search(query);
        } catch (TwitterException e) {
            System.out.println("Getting tweet failed");
            e.printStackTrace();
        }

        List<Status> tweets = result.getTweets();
        List<Treet> list = new ArrayList<>();

        // With queries using "term1 term2" the output is "0 tweets were retrieved" in all cases
        System.out.printf("%d tweets were retrieved %n", tweets.size());

        for (Status status : tweets) {
            list.add( new Treet(status.getUser().getScreenName(),
                                      status.getText(),
                                      status.getCreatedAt()));
        }
        Treet[] returning = list.toArray(new Treet[list.size()]);
        Treets.save(returning);
        return returning;
    }

我查看了Twitter search api,我的查询语法似乎正确。我也看过使用类似格式的在线示例。

任何想法都会非常感激。

0 个答案:

没有答案