如何在java中使用twitter4j发布tweet?

如何在java中使用twitter4j发布tweet?,java,twitter4j,Java,Twitter4j,我可以使用twitter4j登录twitter,并获取有关已登录用户的信息,但我无法从我的应用程序发布twitter。我正在使用java web应用程序发布tweet。请参阅下面我使用的代码 String ACCESS_TOKEN = "ttttttttt"; String ACCESS_TOKEN_SECRET = "gggggggggggggg"; String CONSUMER_KEY = "gggggggggggg"; String CONSUMER_SECRET

我可以使用twitter4j登录twitter,并获取有关已登录用户的信息,但我无法从我的应用程序发布twitter。我正在使用java web应用程序发布tweet。请参阅下面我使用的代码

String ACCESS_TOKEN = "ttttttttt";
    String ACCESS_TOKEN_SECRET = "gggggggggggggg";
    String CONSUMER_KEY = "gggggggggggg";
    String CONSUMER_SECRET = "hhhhhhhhhhhhh";
    String tweet = "";
    if (request.getParameter("tweet") != null) {
        tweet = request.getParameter("tweet");
    }
    AccessToken accessToken = new AccessToken(ACCESS_TOKEN, ACCESS_TOKEN_SECRET);
    OAuthAuthorization authorization = new OAuthAuthorization(ConfigurationContext.getInstance(), CONSUMER_KEY, CONSUMER_SECRET, accessToken);
    Twitter twitter = new TwitterFactory().getInstance(authorization);
    try {
        //twitter.updateStatus("Hello World!");
        twitter.updateStatus(tweet);
    } catch (TwitterException e) {
        System.err.println("Error occurred while updating the status!");
    }
我得到以下例外情况:

TwitterException{exceptionCode=[fa54b184-3bf2623f],状态代码=401,retryAfter=0,rateLimitStatus=null,版本=2.1.5-快照(内部版本:D372A51B49B419CBD73D416474F4A855F3E889507)}


请帮助。

状态代码401表示您


检查您的凭据是否有效。如果是,则可能您的应用程序未经用户验证。请参阅(第7点)上的示例。

首先,重新生成您的访问令牌/密码和消费者密钥/密码。 那就试试这个

String consumerKey = "yourconsumerKey ";
       String consumerSecret = "yourconsumerSecret";
       String accessToken = "yourAccessToken";
       String accessSecret = "yourAccessSecret";

       ConfigurationBuilder cb = new ConfigurationBuilder();
       cb.setDebugEnabled(true)
           .setOAuthConsumerKey(consumerKey)
           .setOAuthConsumerSecret(consumerSecret)
           .setOAuthAccessToken(accessToken)
           .setOAuthAccessTokenSecret(accessSecret);

       try 
       {
          TwitterFactory factory = new TwitterFactory(cb.build());
          Twitter twitter = factory.getInstance();

          System.out.println(twitter.getScreenName());
          Status status = twitter.updateStatus(latestStatus);
          System.out.println("Successfully updated the status to [" + status.getText() + "].");
           }catch (TwitterException te) {
              te.printStackTrace();
              System.exit(-1);
           }
  • 转到已创建的应用程序(https://dev.twitter.com)

  • 检查应用程序设置(>应用程序类型)

  • “应用程序类型”必须是读、写和访问直接消息之一。如果没有,您可以轻松地进行更新

  • (我在处理环境中测试了您的代码,它正在工作)