使用Twitter4J的朋友的好友列表

时间:2012-01-17 09:07:52

标签: java twitter4j

如何使用Twitter4J获取朋友或关注者的朋友列表?

使用getFriendsId(),我只能检索经过身份验证的当前用户的朋友/关注者列表。我想要的是获取经过身份验证的用户的关注者或朋友的朋友列表。

7 个答案:

答案 0 :(得分:6)

这将显示您朋友的粉丝的名字。

      User u1 = null ;
      long cursor = -1;
      IDs ids;
      System.out.println("Listing followers's ids.");
      do {
              ids = twitter.getFollowersIDs("username", cursor);
          for (long id : ids.getIDs()) {
              System.out.println(id);
              User user = twitter.showUser(id);
              System.out.println(user.getName());
          }
      } while ((cursor = ids.getNextCursor()) != 0);

答案 1 :(得分:3)

你只需要这样做:

Twitter twitter = mTwitterApp.getTwitterInstance();
long cursor = -1;
List<User> users=twitter.getFriendsList(mTwitterApp.getUserID(), cursor);

此处用户是您朋友的列表用户(您正在关注他们)。 mTwitterApp.getUserID()是您登录的useris,它是一个很长的值。

答案 2 :(得分:2)

long lCursor = -1;
IDs friendsIDs = twitter.getFriendsIDs(userID, lCursor);
System.out.println(twitter.showUser(userID).getName());
System.out.println("==========================");
do
{
  for (long i : friendsIDs.getIDs())
   {
       System.out.println("follower ID #" + i);
       System.out.println(twitter.showUser(i).getName());
   }
}while(friendsIDs.hasNext());

答案 3 :(得分:1)

         PagableResponseList<User> friendlist= twitter.getFriendsList(user.getScreenName(), -1);

         int sizeoffreindlist= friendlist.size();

         for(int i=0;i<sizeoffreindlist;i++)
         {
             System.out.println(friendlist.get(i));
         }

它将为您提供20个朋友的列表,默认限制为20

答案 4 :(得分:1)

您可以使用

twitter.getFollowersIDs("username", cursor);

http://twitter4j.org/javadoc/twitter4j/api/FriendsFollowersResources.html#getFollowersIDs-java.lang.String-long- 它只返回5000个用户而不是所有用户。此外,它在15分钟内被限制15次。(https://dev.twitter.com/rest/reference/get/friends/ids

另外,你可以使用,

twitter.getFollowersList("username", cursor);

http://twitter4j.org/javadoc/twitter4j/api/FriendsFollowersResources.html#getFollowersList-java.lang.String-long-也受限于20位用户。此外,对于用户身份验证,它在15分钟内限制15次,在应用身份验证的15分钟内限制为30次(https://dev.twitter.com/rest/reference/get/friends/list

要获得无限制访问权限,您可以查看https://gnip.com/或twitter的白名单用户访问权限。

答案 5 :(得分:0)

获取好友列表怎么样? https://dev.twitter.com/docs/api/1.1/get/friends/list

根据文件:

  

为每个用户返回一个已修改的用户对象集合   指定的用户正在关注(也称为“朋友”)。

在twitter4j.api中有一个接口,但我无法弄清楚如何使用它:

PagableResponseList<User> getFriendsList(String screenName, long cursor) throws TwitterException;

答案 6 :(得分:0)

此代码有效!(不超过速率限制)。在StackOverflow上提到了twitter4j documentation和其他答案。

    try {
            // get friends
            long cursor = -1;
            PagableResponseList<User> pagableFollowings;
            do {
                pagableFollowings = twitter.getFriendsList(twitter.getId(), cursor);
                for (User user : pagableFollowings) {
                    listFriends.add(user); // ArrayList<User>
                }
            } while ((cursor = pagableFollowings.getNextCursor()) != 0);

            // get followers
            cursor = -1;
            PagableResponseList<User> pagableFollowers;
            do {
                pagableFollowers = twitter.getFollowersList(twitter.getId(), cursor);
                for (User user : pagableFollowers) {
                    listFollowers.add(user); // ArrayList<User>
                }
            } while ((cursor = pagableFollowers.getNextCursor()) != 0);

        } catch (TwitterException e) {
            printError(e);
        }