Fabric for Android和twitter4j都没有找到包含特定用户提及的推文

时间:2016-01-11 19:15:24

标签: android twitter twitter4j twitter-fabric

我正在尝试使用fabric for android或twitter4j来检索提及特定用户的推文,但我没有得到任何内容。

-With Fabric for Android我正在使用“twitterApiClient.getSearchService()。tweets”(以客人身份登录)

- 有twitter4j,这是我的代码:

 public List<Long> twList (String user){
    List<Long> listTw = new ArrayList<>();
    lastID = Long.MAX_VALUE;
    int tamano = 0;
    ArrayList<Status> tweets = new ArrayList<Status>();
    String mention = "@"+user.trim();
    query = new Query(user);
    while (tweets.size() < numberOfTweets) {
        tamano = tweets.size();
        if (numberOfTweets - tweets.size() > 100) {
            query.setCount(100);
        } else {
            query.setCount(numberOfTweets - tweets.size());
        }
        try {
            QueryResult result = twitter.search(query);
            tweets.addAll(result.getTweets());
            Log.d("App", "Gathered " + tweets.size() + " tweets");
            for (Status t : tweets) {
                if (t.getId() < lastID) {
                    lastID = t.getId();
                }
            }
        } catch (TwitterException te) {
            Log.d("App", "Couldn't connect: " + te);
        }
        query.setMaxId(lastID - 1);
        if (tamano == tweets.size()) break;
    }
    for (Status s: tweets){
        if (s.getText().matches(mention)){
            listTw.add(s.getId());
            Log.d("App", s.getText());
        }
    }
    tweets.clear();
    return listTw;
}

当我在Twitter网站上查找用户名时,我会收到提到的那些推文。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

最后一次包含您要搜索的用户名的推文是什么时候发布的? Search API(由Fabric和Twitter4j使用)仅涵盖大约7天的数据。该网站具有完整的存档,但在公共Twitter API中不可用。