Twitter4j缺少身份验证凭据。

3
我有这段代码。
    PrintWriter out = response.getWriter();
    String username="twitterapi";

   ConfigurationBuilder cb = new ConfigurationBuilder();
   cb.setDebugEnabled(true)
    .setOAuthConsumerKey("zRQs******yDLJuQ")
    .setOAuthConsumerSecret("W368******************DsWya56uk")
    .setOAuthAccessToken("124529**************EQ2XAfAQShzSWExwMoOS")
    .setOAuthAccessToken("UiH**********************k6UuCPveirdF");

 TwitterFactory tf = new TwitterFactory(cb.build());
 Twitter twitter = tf.getInstance();

    User user = null; 

         try {
             user = twitter.showUser(username); 
         } catch (TwitterException ex) {
             Logger.getLogger(Twitter_Final.class.getName()).log(Level.SEVERE, null, ex);
         }
    if (user.getStatus() != null) {
       out.println("@" + user.getScreenName() + " - " + user.getDescription());
    } else {
        // protected account
        out.println("@" + user.getScreenName());
    }

但是我收到了这个已知的错误消息“缺少身份验证凭据。有关详细信息,请参见http://twitter4j.org/en/configuration.html。”

我在这里阅读了类似的问题,但我看不出我的代码中问题出在哪里。你能看出来吗?

1个回答

3
问题出在您的ConfigurationBuilder上,您设置了两次OAuthAccessToken但从未设置过OAuthAccessTokenSecret
只需将代码更改为:
ConfigurationBuilder cb = new ConfigurationBuilder();
           cb.setDebugEnabled(true)
            .setOAuthConsumerKey(YOUR_KEY)
            .setOAuthConsumerSecret(YOUR_SECRET)
            .setOAuthAccessToken(ACCESS_TOKEN)
            .setOAuthAccessTokenSecret(ACCESS_TOKEN_SECRET);

它将能够正常工作!


我遇到了同样的问题,提示凭据丢失;我创建了一个配置构建器并设置了消费者密钥和消费者密钥。然后一旦我获取了访问令牌,我将其设置在 Twitter 实例上并尝试发布推文。然后我就会得到那个错误。 - Eenvincible

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接