【问题标题】:Authentication credentials are missing from twitter4jtwitter4j 中缺少身份验证凭据
【发布时间】:2014-01-20 06:13:50
【问题描述】:

我有这个代码

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

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

我在这里读过类似的问题,但我看不出我的代码中的问题出在哪里。可以吗?

【问题讨论】:

    标签: java twitter twitter-oauth twitter4j


    【解决方案1】:

    问题在于您的ConfigurationBuilder,您设置了两次OAuthAccessToken,但从未设置OAuthAccessTokenSecret

    只需将您的代码更改为:

    ConfigurationBuilder cb = new ConfigurationBuilder();
               cb.setDebugEnabled(true)
                .setOAuthConsumerKey(YOUR_KEY)
                .setOAuthConsumerSecret(YOUR_SECRET)
                .setOAuthAccessToken(ACCESS_TOKEN)
                .setOAuthAccessTokenSecret(ACCESS_TOKEN_SECRET);
    

    它会起作用的!

    【讨论】:

    • 我有同样的问题,说凭据丢失;我创建了一个配置生成器并设置了消费者密钥和消费者密码。然后,一旦我获得了 accessToken,我就将它设置在 twitter 实例上并尝试发布推文。然后我得到那个错误
    猜你喜欢
    • 2014-01-05
    • 1970-01-01
    • 2015-06-01
    • 2016-02-20
    • 1970-01-01
    • 2021-09-24
    • 1970-01-01
    • 2011-08-17
    • 2014-05-08
    相关资源
    最近更新 更多