根据https://dev.twitter.com/docs/api/1.1/get/friends/list URL 的 twitter 文档,我可以将“count”的值(每页返回的用户数)从默认值 20 更改到 200。但是如何在使用 Twitter4J java 库调用 getFriendsList api 时指定计数选项。
问问题
833 次
5 回答
1
根据文档,如果您正在使用getFriendsList
,您一次最多只能请求 20 个。可能是此 java API 的限制
PagableResponseList<User> getFriendsList(long userId,
long cursor)
throws TwitterException
cursor - Causes the results to be broken into pages of no more than 20 records at a time.
于 2013-10-04T18:49:15.317 回答
1
目前Twitter4J 中没有使用count 参数(从 3.0.3 开始)。这是有问题的代码的样子:
public PagableResponseList<User> getFriendsList(long userId, long cursor) throws TwitterException {
return factory.createPagableUserList(get(conf.getRestBaseURL()
+ "friends/list.json?user_id=" + userId
+ "&cursor=" + cursor));
}
和
public PagableResponseList<User> getFriendsList(String screenName, long cursor) throws TwitterException {
return factory.createPagableUserList(get(conf.getRestBaseURL()
+ "friends/list.json?screen_name=" + screenName
+ "&cursor=" + cursor));
}
于 2013-10-04T20:29:26.080 回答
0
为了使用 Twitter4J 检索更多用户,您必须使用游标并进行多次 api 调用,例如:
long cursor = -1;
PagableResponseList<User> friends;
do {
friends = twitter.getFriendsList(userId, cursor);
// collect users be adding to list etc...
} while ((cursor = followers.getNextCursor()) != 0);
注意零光标值表示没有进一步的结果。
于 2013-10-07T07:39:06.817 回答
0
对此的修复已于 2014 年 4 月 29 日签入代码(请参阅此提交),并在今天的 4.0.2 快照版本中可用。所以这将是 v 4.0.2 及更高版本的一部分。
于 2014-05-22T00:34:08.610 回答
0
您的代码应该是这样的:
long cursor=-1;
int count=0;
while(cursor!=0)
{
PagableResponseList<User> friendlist= twitter.getFriendsList(user.getScreenName(),cursor);
int sizeoffreindlist= friendlist.size();
for(int i=0;i<sizeoffreindlist;i++)
{
//System.out.println(friendlist.get(i));
//Your Logic goes here
}
cursor=friendlist.getNextCursor();
System.out.println("====> New cursor value"+cursor);
}
当没有其他可分页响应即没有更多朋友列表时,Twitter 响应光标值 0
于 2014-03-21T10:15:24.887 回答