4

我将 twitter 4j 用于一个小型 twitter 应用程序,我目前使用以下代码来获取关注者 ID,我需要一个用户(让我说)我喜欢拥有最多关注者计数的前 10 名用户(以下代码获取用户的 profileID)。在我的 twitter 个人资料中,我有 80 个关注者,我喜欢获取关注者更多的关注者(前 10 个)

Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_KEY_SECRET);
String accessToken = getSavedAccessToken();
String accessTokenSecret = getSavedAccessTokenSecret();
AccessToken oathAccessToken = new AccessToken(accessToken, accessTokenSecret);

twitter.setOAuthAccessToken(oathAccessToken);
User user = null;
try {
    user = twitter.showUser(username);// id = user.getId();
} catch (TwitterException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
4

1 回答 1

5

要使用他们的屏幕名称检索给定用户的关注者,请参阅Twitter#getFollowersList(),例如:

long cursor = -1;
PagableResponseList<User> followers;
do {
     followers = twitter.getFollowersList("screenName", cursor);
    for (User follower : followers) {
        // TODO: Collect top 10 followers here
        System.out.println(follower.getName() + " has " + follower.getFollowersCount() + " follower(s)");
    }
} while ((cursor = followers.getNextCursor()) != 0);

我使用游标检索所有关注者,默认情况下,api 调用仅返回 20 - 请参阅 Twitter 的使用游标导航指南以获取更多信息。

在 for 循环中,您可以通过检查关注者数量来收集“前 10”关注者。

于 2013-09-24T16:01:23.813 回答