有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java API推特速率限制

以下是我想做的:

我有一个列表,一个twitter用户ID,对于每一个,我需要检索他的粉丝ID和朋友ID的完整列表。我不需要其他任何东西,没有屏幕名称等

顺便说一句,我正在使用Twitter 4J

我是这样做的:

对于每个用户,我将执行以下代码,以获得其追随者ID的完整列表

long lCursor = -1
do{
    IDs response = t.getFollowersIDs(id, lCursor);
    long tab[] = response.getIDs();
    for(long val : tab){
        myIdList.add(val);
    }
    lCursor = response.getNextCursor(); 
}while(lCursor != 0);

我的问题是:

根据本页:https://dev.twitter.com/docs/api/1.1/get/followers/ids

getFollowersIDs()的请求速率限制为15,考虑到此方法返回的ID最多为5000个,这意味着只能获得15*5000个ID(如果用户的关注者少于5000个,则为15个用户)

这对我所要做的还不够

我做错什么了吗?有什么办法可以改善这一点吗?(甚至稍微)

谢谢你的帮助:)


共 (1) 个答案

  1. # 1 楼答案

    该端点在v1中的速率限制。1是每个接入令牌每15分钟呼叫15次。有关限制的更多信息,请参见https://dev.twitter.com/docs/rate-limiting/1.1

    考虑到这一点,如果您为每个用户都有一个访问令牌,那么您应该能够每15分钟为每个访问令牌获取多达75000(15*5000)个追随者ID

    不幸的是,如果您只有一个访问令牌,那么您将按照您描述的方式受到限制,只需在应用程序达到速率限制时处理,并在15分钟后继续处理