我正在使用Twitter4j版本3.0.3。Twitter4j:調用getFollowersIDs時獲得不一致的身份驗證錯誤
我想拉動追隨者ID和使用OAuth。我多年來一直在使用Twitter4j,並且對框架有相當豐富的經驗。
然而一些奇怪的事情正在發生的事情:我的程序將會運行得很好,然後間歇性地拋出下面的堆棧跟蹤:
Exception in thread "main" 401:Authentication credentials (https://dev.twitter.com/pages/auth) were missing or incorrect. Ensure that you have set valid consumer key/secret, access token/secret, and the system clock is in sync.
{"request":"\/1.1\/followers\/ids.json?user_id=20801287&cursor=-1&include_entities=1&include_rts=1","error":"Not authorized"}
Relevant discussions can be found on the Internet at:
http://www.google.co.jp/search?q=92c30ec6 or
http://www.google.co.jp/search?q=19400604
TwitterException{exceptionCode=[92c30ec6-19400604], statusCode=401, message=null, code=-1, retryAfter=-1, rateLimitStatus=RateLimitStatusJSONImpl{remaining=6, limit=15, resetTimeInSeconds=1362898120, secondsUntilReset=890}, version=3.0.3}
at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:177)
at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:61)
at twitter4j.internal.http.HttpClientWrapper.get(HttpClientWrapper.java:89)
at twitter4j.TwitterImpl.get(TwitterImpl.java:1817)
at twitter4j.TwitterImpl.getFollowersIDs(TwitterImpl.java:400)
它拋出在以下行上面:
IDs ids= twitter.getFollowersIDs(id,cursor);
上面一行執行得很好,然後沒有警告失敗。
注:我檢查速率限制和最後一個我遇到的以下行拉到這個速率限制JSON對象的時間(下圖):
RateLimitStatus rls=twitter.getRateLimitStatus().get("/followers/ids")
RateLimitStatusJSONImpl{remaining=7, limit=15, resetTimeInSeconds=1362898120, secondsUntilReset=890}
我想這可能是間歇性的東西用Twitter,但它已經持續了幾天。
我試過它從各種機器,但得到完全相同的問題。
這種呼叫以這種方式失敗,一次在大約20次呼叫中。
我也看到了在SE的類似的問題:
Twitter4j 401 Authentication - 直到當然,當在我的情況下,它似乎是工作的罰款 - 然而,這是OAuth的地方是不工作的情況下,它沒有。
twitter4j: getting credential errors even though i had set them? - 這裏的情況與我的情況差不多。
Problem in Oauth with twitter4j - 建議將應用程序註冊爲一個網絡應用程序,我已經完成了,我已經填充了回調URL(儘管它什麼也沒有做),但仍然沒有運氣。
超級有用。你能否提供一些關於如何編寫異常處理程序的提示? – seinecle 2013-08-06 14:53:54