通过 twitter4j 库更新 Twitter 中的状态 - 401 身份验证凭据...错误

Update Status in Twitter via twitter4j Library - 401 Authontication Credentials... error

您好,我正在尝试通过 twitter4j 库实现 "status update"。

然而它总是得到同样的错误:

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 in in sync.

TwitterException{exceptionCode=[6b80c41c-1bd1da85], statusCode=401, retryAfter=-1, rateLimitStatus=null, featureSpecificRateLimitStatus=null, version=2.2.5-SNAPSHOT(build: 5f9c44cd0e0c1972f8d17653a226b9b6a3392ac2)} ...

您可以在下面找到代码片段:

ConfigurationBuilder cb = new ConfigurationBuilder();
        cb.setDebugEnabled(true)
        .setOAuthConsumerKey(cons_key)
        .setOAuthConsumerSecret(cons_secret)
        .setOAuthAccessToken(acc_token)
        .setOAuthAccessTokenSecret(acc_secret);

        TwitterFactory tf = new TwitterFactory(cb.build());
        Twitter twitter = tf.getInstance();
        twitter4j.Status status;
        try {
            status = twitter.updateStatus(params[0]);
            if (status.getId() == 0) {
                System.out.println("Error occured while posting tweets to twitter");
            }
        } catch (TwitterException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

我很确定我有有效的 consumer/access tokens/secrets。

我不知道如何同步系统时钟。

您知道此错误背后的实际问题是什么吗?我在互联网上找不到任何有用的答案。

任何帮助将不胜感激.. 提前致谢!

你可以尝试一些东西 -

  1. 通过登录 https://apps.twitter.com 为您注册的应用程序重新生成身份验证密钥。
  2. 还要确保您注册的应用程序具有 Read/Write 访问权限,以便能够 post 更新状态。
  3. 我不确定 android 上的时钟同步,但对于 linux/Windows,您可以检查 将您的系统指向哪个 NTP 服务器。

同样使用最新版本的twitter4j。​​