2016-01-22 2 views
0

У меня возникла проблема с попыткой аутентификации в Twitter с помощью twitter4j. Я пробовал 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()); 
} 

} 

} 

EDIT: следующая ошибка происходит при компиляции:

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

Похоже, вы создаете экземпляр Twitter дважды, один раз с построенной TwitterFactory и один раз с Singleton (который я подозреваю, не иметь настройку auth).

Затем вы можете использовать второй экземпляр Twitter (созданный с помощью фабрики, не прошедшей проверку подлинности), чтобы выполнить ваши запросы.

Попробуйте использовать twitter.getHomeTimeline(), а не twit.getHomeTimeline()

+0

Вот оно! Спасибо! –

 Смежные вопросы

  • Нет связанных вопросов^_^