使用 Twitter4j 获取关注者列表的最有效方法是什么?
我正在使用 Twitter4j 库,我正在尝试获取经过身份验证的用户的关注者列表。
我正在执行以下操作:
IDs followersIds = mTwitter.getFollowersIDs(-1);
long [] ids = followersIds.getIDs();
List<User> followers = new ArrayList<User>();
for(int i = 0; i < ids.length; i++) {
followers.add(mTwitter.showUser(ids[i]));
}
虽然这可能有效,但它远非有效,因为它为每个关注者发送一个请求。除了这种方法缓慢之外,我最终还得到以下错误:
错误 - 超出速率限制。客户的收入不得超过 350 每小时请求数。
有人知道有更好的方法来做到这一点吗? (我花了一些时间查看文档,但找不到任何内容)。
谢谢!
I am using the Twitter4j library and I am trying to get the followers list of the authenticated user.
I am doing the following:
IDs followersIds = mTwitter.getFollowersIDs(-1);
long [] ids = followersIds.getIDs();
List<User> followers = new ArrayList<User>();
for(int i = 0; i < ids.length; i++) {
followers.add(mTwitter.showUser(ids[i]));
}
Although this may work, it's far from being effective since it sends one request for each follower. Besides the slowness of this method, I ultimately get the following error:
error - Rate limit exceeded. Clients may not make more than 350
requests per hour.
Anyone knows any better method to do this? (I spent some time on the documentation but couldn't find any).
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您应该使用
UserMethods
中的lookupUsers(long[] ids)
方法来实现此目的。您向其传递最多 100 个用户 ID 的数组(每个请求)并获取返回的所有扩展信息。请记住,您可能想要使用 异步版本此方法,因为您可能不想在 UI 线程上执行请求。
There is a
lookupUsers(long[] ids)
method inUserMethods
you should use for this purpose. You pass it an array of at most 100 user ids (per request) and get all extended information returned.Bear in mind you might want to use the async version of this method, as you probably don't want to do the requests on the UI thread.
有方法
There is method