我正在使用Twitter4J(twitter4j-core:4.0.6)在Java 8中構建一個應用程序來抓取友誼和關注者。我將用數據填充一個圖形結構,並且我期望能夠很快達到速率限制,所以我正在嘗試構建應用程序,使得只有耗盡的端點才能進入睡眠狀態。如何識別Twitter4j RateLimitStatusEvent包含限制的端點
要確保我有剩餘的呼叫正確的號碼,如其他應用,線程或實例也耗盡請求的同一個池,我試圖用RateLimitStatusListener接口有onRateLimitStatus(RateLimitStatusEvent event)
和onRateLimitReached(RateLimitStatusEvent event)
控制睡眠的標誌循環。
然而,問題是,我似乎無法找到任何地方訪問RateLimitStatusEvent對應的端點,即「/ friends/id」,「/ followers/id」或「/ users/lookup」 。
我已經考慮過查找速率限制並保留一個本地計數,但是如果有多個實例,同時訪問這些信息的其他應用等,速率限制將在本地計數之前達到意識到。我可能會在完成時發佈應用程序,然後我可能會有多個同時使用的用戶。
有沒有人知道用Twitter4J做這件事的好方法,還是我必須推出自己的?
你見過這個答案嗎?這可能是一個很好的起點我猜https://stackoverflow.com/a/45199642/2183174 – kadir
@kadir你是絕對正確的!這是一個很好的起點!我不知道結果包含對TwitterResult接口的實現的引用,該接口包含該特定請求的返回速率限制。我將重新設計邏輯,看看我是否能以令人滿意的方式工作。 – Canis