使用Twitter4J的朋友的好友列表

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

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

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

  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 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 friendlist= twitter.getFriendsList(user.getScreenName(), -1); int sizeoffreindlist= friendlist.size(); for(int i=0;i 

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

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

根据文件:

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

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

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

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

  try { // get friends long cursor = -1; PagableResponseList pagableFollowings; do { pagableFollowings = twitter.getFriendsList(twitter.getId(), cursor); for (User user : pagableFollowings) { listFriends.add(user); // ArrayList } } while ((cursor = pagableFollowings.getNextCursor()) != 0); // get followers cursor = -1; PagableResponseList pagableFollowers; do { pagableFollowers = twitter.getFollowersList(twitter.getId(), cursor); for (User user : pagableFollowers) { listFollowers.add(user); // ArrayList } } while ((cursor = pagableFollowers.getNextCursor()) != 0); } catch (TwitterException e) { printError(e); } 

您可以使用

 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位用户的限制。 对于用户身份validation,它在15分钟内限制15次,在15分钟内限制为应用身份validation的30次( https://dev.twitter.com/rest/reference/get/friends/list

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