Java 使用Twitter4J的朋友列表
如何使用获取朋友或追随者的朋友列表Java 使用Twitter4J的朋友列表,java,twitter4j,Java,Twitter4j,如何使用获取朋友或追随者的朋友列表 使用,我只能检索当前用户的好友/追随者列表,该列表已通过身份验证。我想要的是获得追随者的朋友或已验证用户的朋友的列表。这将显示您朋友的追随者的姓名 User u1 = null ; long cursor = -1; IDs ids; System.out.println("Listing followers's ids."); do { ids = twitter.get
使用,我只能检索当前用户的好友/追随者列表,该列表已通过身份验证。我想要的是获得追随者的朋友或已验证用户的朋友的列表。这将显示您朋友的追随者的姓名
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);
像“交朋友”这样的东西怎么样 根据文件: 为每个用户返回用户对象的游标集合 指定的用户是以下用户(也称为他们的“朋友”) twitter4j.api中有一个用于此的接口,但我不知道如何使用它:
PagableResponseList<User> getFriendsList(String screenName, long cursor) throws TwitterException;
PagableResponseList getFriendsList(字符串屏幕名,长光标)抛出TwitterException;
您只需执行以下操作:
Twitter twitter = mTwitterApp.getTwitterInstance();
long cursor = -1;
List<User> users=twitter.getFriendsList(mTwitterApp.getUserID(), cursor);
Twitter=mTwitterApp.getWitterInstance();
长光标=-1;
List users=twitter.getFriendsList(mTwitterApp.getUserID(),游标);
这里的用户是您的朋友(您正在跟踪他们)的列表用户。
mTwitterApp.getUserID()是您的登录useris,它是一个长值。PagableResponseList friendlist=twitter.getFriendlist(user.getScreenName(),-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));
}
int-sizeoffreindlist=friendlist.size();
对于(int i=0;i,此代码有效!(不超过速率限制)。参考StackOverflow和其他答案
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);
}
试试看{
//交朋友
长光标=-1;
PagableResponseList PagableFollowing;
做{
PagableFollows=twitter.getFriendsList(twitter.getId(),游标);
用于(用户:页码如下){
listFriends.add(用户);//ArrayList
}
}而((cursor=pagableFollowers.getNextCursor())!=0);
//获得追随者
游标=-1;
PagableResponseList pagableFollowers;
做{
pagableFollowers=twitter.getFollowersList(twitter.getId(),游标);
for(用户:pagableFollowers){
listFollowers.add(用户);//ArrayList
}
}而((cursor=pagableFollowers.getNextCursor())!=0);
}捕获(twitter异常){
打印错误(e);
}
您可以使用
twitter.getFollowersIDs("username", cursor);
它只返回5000个用户,而不是所有用户。而且它在15分钟内被限制15次。()
你也可以用
twitter.getFollowersList("username", cursor);
它还限制了20个用户。用户身份验证在15分钟内限制15次,应用身份验证在15分钟内限制30次()
对于无限制访问,您可以查看或白名单用户访问twitter。警告:这很有可能会使您在第一次尝试时限制访问率。我不明白您为什么一直调用getFollowersIds
方法。这是为了对响应进行分页吗?因此Sandepshar的上一个回答是这样的at将只返回所有好友的一个子集?@rcompton我们不能克服此限制问题吗?此代码是否多次攻击API,并且您可能会被禁止超过速率限制?这将很容易超过速率限制(dev.twitter.com/rest/public/rate limiting)。使用getFriendsList而不是GetFriendsID。检查我在此页面上的答案。这将只列出前5000个用户,因为光标值为-1。注意:URL在2018年被破坏。
twitter.getFollowersList("username", cursor);