使用Twitter屏幕名称获取任何用户的Twitter粉丝的Java代码

时间:2015-06-18 09:50:06

标签: java twitter twitter4j

我尝试使用屏幕名称来获取Twitter粉丝。但我能够只获得我的粉丝屏幕名称,因为我期待着我的粉丝的粉丝。但我没有找到任何支持的方法。

我的代码如下。

TwitterFactory factory = new TwitterFactory();
Twitter twitter = factory.getInstance();
twitter.setOAuthConsumer(consumerKey, consumerSecret);
AccessToken accessToken = new AccessToken(twitterToken, twitterSecret);
twitter.setOAuthAccessToken(accessToken);
String twitterScreenName = twitter.getScreenName();
IDs followerIDs = twitter.getFollowersIDs(twitterScreenName, -1);
long[] ids = followerIDs.getIDs();
for (long id : ids) {
   twitter4j.User user = twitter.showUser(id);
   //here i am trying to fetch the followers of each id
   System.out.println("Name: " + user.getScreenName());
   System.out.println("Location:" + user.getLocation());
}

任何人都可以帮助我。

1 个答案:

答案 0 :(得分:1)

你需要在这里进行嵌套。您只是获取当前用户关注者列表。但是你需要获得你的粉丝的粉丝列表。

示例代码如下:

    TwitterFactory factory = new TwitterFactory();
    Twitter twitter = factory.getInstance();
    String twitterScreenName;
    try {
        twitterScreenName = twitter.getScreenName();

    IDs followerIDs = twitter.getFollowersIDs(twitterScreenName, -1);
    long[] ids = followerIDs.getIDs();
    for (long id : ids) {
       twitter4j.User user = twitter.showUser(id);
       //here i am trying to fetch the followers of each id
       String userScreenName = user.getScreenName();
       System.out.println("Name: " + user.getScreenName());
       System.out.println("Location:" + user.getLocation());

       IDs followerIDsOfFollowers = twitter.getFollowersIDs(user.getScreenName(), -1);
       long[]fofIDs = followerIDsOfFollowers.getIDs();
       for(long subId : fofIDs) {
           twitter4j.User user1 = twitter.showUser(subId);
           System.out.println("Follower Master:" + userScreenName +" Follower of Follower Name: " + user1.getScreenName());
           System.out.println("Location:" + user1.getLocation());

       }