2016-01-22 71 views
0

我尝试使用twitter4j向Twitter进行身份验证时遇到了问题。我试过this,但它仍然无法正常工作。无法使用twitter4j进行身份验证

这是我的代码,任何帮助将不胜感激。

谢谢。

public class SpeedDemon { 

/** 
* @param args the command line arguments 
*/ 
public static void main(String[] args) throws TwitterException { 
// Setup for Snake Charmer 

ConfigurationBuilder cb = new ConfigurationBuilder(); 
cb.setDebugEnabled(true) 
     .setOAuthConsumerKey("CONSUMER_KEY") 
     .setOAuthConsumerSecret("CONSUMER_SECRET") 
     .setOAuthAccessToken("OAUTH_ACCESS") 
     .setOAuthAccessTokenSecret("OAUTH_SECRET"); 
TwitterFactory tf = new TwitterFactory(cb.build()); 
Twitter twitter = tf.getInstance(); 

// Gets timeline. 
Twitter twit = TwitterFactory.getSingleton(); 
List<Status> statuses = twit.getHomeTimeline(); 
System.out.println("Showing home timeline."); 
for (Status status : statuses) { 
    System.out.println(status.getUser().getName() + ":" + 
         status.getText()); 
} 

} 

} 

编辑:下面的错误发生在编译:

Exception in thread "main" java.lang.IllegalStateException: Authentication credentials are missing. See http://twitter4j.org/en/configuration.html for details 
at twitter4j.TwitterBaseImpl.ensureAuthorizationEnabled(TwitterBaseImpl.java:215) 
at twitter4j.TwitterImpl.get(TwitterImpl.java:1784) 
at twitter4j.TwitterImpl.getHomeTimeline(TwitterImpl.java:105) 
at speeddemon.SpeedDemon.main(SpeedDemon.java:30) 
C:\Users\Kevin\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java returned: 1 
BUILD FAILED (total time: 0 seconds) 

回答

0

它看起来就像你与你的构建TwitterFactory与辛格尔顿(我怀疑不构建一个Twitter实例两次,一次一次有认证设置)。

然后,您使用第二个Twitter实例(使用未经身份验证的工厂创建)来进行查询。

尝试使用twitter.getHomeTimeline()而不是twit.getHomeTimeline()

+0

就是这样!非常感谢! –