2012-03-25 29 views
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

我還沒有重新生成的密鑰和機密,但如果我無法實現它的話,那將是下一步。

有沒有人有線索,爲什麼這會停止工作?

+0

你確認時鐘設置正確嗎? – abraham 2012-03-25 17:59:38

+0

@abraham謝謝,我會檢查時鐘。這個鏈接(https://dev.twitter.com/discussions/1043)表明我的服務器的時鐘應該在他們的時鐘的5分鐘之內...將檢查。謝謝。 – Parag 2012-03-26 09:36:55

+0

@abraham服務器的時鐘已經關閉,但超過5分鐘。我真的很驚訝虛擬服務器的時鐘可能會落後。這可能慢慢累積,超過5分鐘。你是對的。你可以發表你的評論作爲答案,所以我可以接受它。謝謝Parag。 – Parag 2012-03-26 16:02:24

回答

1

確保服務器時鐘設置正確。如果Twitter的請求超過幾分鐘就會失敗。