2013-06-18 78 views
4

我是這個Twitter4j庫的新手。我試圖存儲給定userID的用戶的所有追隨者ID。我使用類似以下內容:Twitter4j getFollowersIDs遊標問題

IDs ids; 
long cursor = -1; 

do{ 
    ids = twitter.getFollowersIDs(userName, cursor); 
    for (long id : ids.getIDs()) { 
     // Store this id... 
} 
while ((cursor = ids.getNextCursor()) != 0); 

一段時間後,我得到的錯誤Rate limit exceeded,沒關係。但是,當我的費率限制問題在將來修復時,我不知道如何繼續存儲給定用戶ID的跟隨者ID?

附:我試圖儲存追隨者的ID的userID有300多萬追隨者。這就是爲什麼我需要從我離開的地方繼續。

回答

3

API資源GET followers/ids - 這是getFollowersIDs()的底線 - 受限速。

根據此資源的rate limiting documentation,您可以在15分鐘的窗口中的「速率限制窗口」中執行15個請求。所以實質上,每15分鐘你可以再提出15個請求。

看來,爲了讓您獲取3百萬追隨者的ID,您需要以某種方式限制您的請求,例如,每分鐘只發一個請求等等......

請注意,速率限制是按資源分配的,一些限制比其他限制更慷慨。您可以瞭解更多關於速率限制如何工作的信息here