0
我有一個使用Twitter的OAUTH登錄用戶的Web應用程序。我正在使用Twitter4J版本2.1.11使用Twitter登錄時突然停止工作
此應用程序已完美地工作,最近停止工作,可能在過去幾周內停止工作。
public static void authWithTwitter() {
try {
Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET);
RequestToken requestToken = twitter.getOAuthRequestToken(getTwitterCallbackUrl());
// save requestToken for retreival after user logs in
// code not shown for brevity
redirect(requestToken.getAuthenticationURL());
} catch(Exception e) {
cLogger.error("Could not perform pre twitter login steps", e);
}
}
這段代碼(直到應用程序是工作)將用戶重定向到Twitter的登錄頁面,該頁面在驗證成功後,會調用回調URL。
但是,最近,這已停止工作,我得到以下異常。
401:Authentication credentials (http://dev.twitter.com/pages/auth) were missing or incorrect. Ensure that you have set valid conumer key/secret, access token/secret, and the system clock in in sync.
Failed to validate oauth signature and token
Relevant discussions can be on the Internet at:
http://www.google.co.jp/search?q=8dda30a8 or
http://www.google.co.jp/search?q=68161d96
TwitterException{exceptionCode=[8dda30a8-68161d96], statusCode=401, retryAfter=0, rateLimitStatus=null, version=2.1.11}
at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:199)
at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:75)
at twitter4j.internal.http.HttpClientWrapper.post(HttpClientWrapper.java:112)
at twitter4j.http.OAuthAuthorization.getOAuthRequestToken(OAuthAuthorization.java:148)
at twitter4j.TwitterOAuthSupportBaseImpl.getOAuthRequestToken(TwitterOAuthSupportBaseImpl.java:88)
at twitter4j.Twitter.getOAuthRequestToken(Twitter.java:58)
我做了一些搜索和驗證,我有回調URL設置不當在我的應用程序的設置在dev.Twitter.com
我還沒有重新生成的密鑰和機密,但如果我無法實現它的話,那將是下一步。
有沒有人有線索,爲什麼這會停止工作?
你確認時鐘設置正確嗎? – abraham 2012-03-25 17:59:38
@abraham謝謝,我會檢查時鐘。這個鏈接(https://dev.twitter.com/discussions/1043)表明我的服務器的時鐘應該在他們的時鐘的5分鐘之內...將檢查。謝謝。 – Parag 2012-03-26 09:36:55
@abraham服務器的時鐘已經關閉,但超過5分鐘。我真的很驚訝虛擬服務器的時鐘可能會落後。這可能慢慢累積,超過5分鐘。你是對的。你可以發表你的評論作爲答案,所以我可以接受它。謝謝Parag。 – Parag 2012-03-26 16:02:24