如何使用Twitter4J获取朋友或关注者的朋友列表?
使用getFriendsId()
,我只能检索经过身份验证的当前用户的朋友/关注者列表。我想要的是获取经过身份验证的用户的关注者或朋友的朋友列表。
答案 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);
}