Java 用于获取任何使用 Twitter 屏幕名称的用户的 Twitter 关注者的代码

Java code to fetch the twitter followers of any user using twitter screen name

我尝试使用屏幕名称获取 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());
}

谁能帮我解决这个问题。

您需要在此处进行嵌套。您只是获取当前用户关注者的列表。但是你需要获取你关注者的关注者列表。

示例代码如下:

    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());

       }