2014-09-03 168 views
0

我看到相关的帖子,它并没有帮助我解决这个问题。 下面是代码,我得到IllegalStateException,缺少身份验证凭证。 请帮我解决这个错误。Twitter4j IllegalStateException:身份验证凭证丢失

ConfigurationBuilder cb = new ConfigurationBuilder(); 
    cb.setDebugEnabled(true) 
      .setOAuthConsumerKey("XXXX") 
      .setOAuthConsumerSecret("XXXXX") 
      .setOAuthAccessToken("XXXX") 
      .setOAuthAccessTokenSecret("XXXX"); 
    TwitterFactory tf = new TwitterFactory(cb.build()); 
    Twitter twitter = tf.getSingleton(); 
    Query query = new Query("source:twitter4j sample"); 
    QueryResult result = null; 
    result = twitter.search(query); //error occurs in this line 
    for (Status status : result.getTweets()) { 
     System.out.println("@" + status.getUser().getScreenName() + ":" +  status.getText()); 
    } 

回答

1

你的代码是好的,你在这行做了只是一个错误,

Twitter twitter = tf.getSingleton(); 

您提供不会在单进行设置,除非你使用getInstance()方法的配置对象,所以在使用这

Twitter twitter = tf.getInstance();