随着Twitter突然停止工作

时间:2012-03-25 16:18:34

标签: twitter-oauth twitter4j

我有一个使用Twitter的OAUTH登录用户的Web应用程序。我正在使用Twitter4J版本2.1.11

这个应用程序一直运行良好,并且最近停止了工作,可能在过去的几周内。

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)

我做了一些搜索并验证我在dev.Twitter.com的应用设置中正确设置了回调网址

我还没有重新生成密钥和消费者的秘密,但如果我无法让它发挥作用,那将是下一步。

有没有人知道为什么会停止工作?

1 个答案:

答案 0 :(得分:1)

确保正确设置服务器时钟。如果离Twitter超过几分钟,请求就会失败。