繁体   English   中英

使用Twitter4J的朋友的好友列表

[英]Friends list of a friend using Twitter4J

如何使用Twitter4J获取朋友或粉丝的好友列表?

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

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

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

你只需要这样做:

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

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

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

您可以使用

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的白名单用户访问权限。

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

根据文件:

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

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

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

这段代码有效! (不超过限额)。 在StackOverflow上提到了twitter4j文档和其他答案。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM