2012-03-25 19 views
0

Ich habe eine Webanwendung, die Twitter OAUTH verwendet, um Benutzer zu loggen. Ich benutze Twitter4J Version 2.1.11Anmeldung mit Twitter funktioniert nicht mehr

Diese Anwendung hat einwandfrei funktioniert und funktioniert vor kurzem nicht mehr, möglicherweise in den letzten paar Wochen.

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); 
    } 
} 

Dieser Code würde den Benutzer auf Twitter-Login-Seite, die bei erfolgreicher Authentifizierung (bis die App arbeitet) umleiten, die Callback-URL nennen würde.

In letzter Zeit funktioniert dies jedoch nicht mehr und ich bekomme die folgende Ausnahme.

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) 

habe ich einige der Suche und überprüft, dass ich die Callback-URL richtig in meiner App-Einstellungen in dev.Twitter.com gesetzt haben

Ich habe noch nicht den Schlüssel und Consumer-Secret-generated sind, aber das wäre der nächste Schritt, wenn ich es nicht zur Arbeit bringen kann.

Hat jemand eine Ahnung, warum das aufhören würde zu arbeiten?

+0

Haben Sie überprüft, ob die Uhr richtig eingestellt ist? – abraham

+0

@abraham Danke Ich werde die Uhr überprüfen. Dieser Link (https://dev.twitter.com/discussions/1043) schlägt vor, dass die Uhr meines Servers innerhalb von 5 Minuten von ihrer Uhr sein sollte ... wird das überprüfen. Vielen Dank. – Parag

+0

@abraham Die Serveruhr ist ausgeschaltet, aber mehr als 5 Minuten. Ich bin wirklich überrascht, dass die Uhr eines virtuellen Servers zurückbleiben könnte. Dies hat sich wahrscheinlich langsam angesammelt und 5 Minuten überschritten. Du hattest Recht. Kannst du bitte deinen Kommentar als Antwort posten, damit ich ihn annehmen kann. Danke, Parag. – Parag

Antwort

1

Stellen Sie sicher, dass die Serveruhr korrekt eingestellt ist. Wenn es länger als ein paar Minuten ist, werden die Anfragen von Twitter fehlschlagen.

Verwandte Themen