Member 12200805 Ответов: 0

Использование потокового api для извлечения максимального количества твитов


на некоторых сайтах программирования я видел,что можно получить максимум твитов с помощью streaming api..из этого я попытался получить твиты с помощью streaming api...
почему я получаю эту ошибку

Исключение в потоке "основной" Java для.яз.IncompatibleClassChangeError: класс TwitterStreamingAPI$1 имеет интерфейс twitter4j. StatusListener как суперкласс
на Яве.ClassLoader.defineClass1(собственный метод)
на Яве.ClassLoader.defineClass(ClassLoader. java:760)
в Java.безопасности.SecureClassLoader.defineClass(SecureClassLoader. java:142)
в java. net. URLClassLoader. defineClass(URLClassLoader. java:467)
в java. net. URLClassLoader. access$100 (URLClassLoader. java:73)
в java. net. URLClassLoader$1. run(URLClassLoader. java:368)
в java. net. URLClassLoader$1. run(URLClassLoader. java:362)
в Java.безопасности.AccessController.doPrivileged(Native метод)
в java. net. URLClassLoader. findClass(URLClassLoader. java:361)
на Яве.ClassLoader.loadClass(ClassLoader. java:424)
на солнце. разное.Launcher$AppClassLoader. loadClass(Launcher. java:331)
на Яве.ClassLoader.loadClass(ClassLoader. java:357)
в TwitterStreamingAPI.основной(TwitterStreamingAPI.Ява:15)
C:\Users\Acer\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java возвращается: 1

Что я уже пробовал:

import twitter4j.FilterQuery;
import twitter4j.StallWarning;
import twitter4j.Status;
import twitter4j.StatusDeletionNotice;
import twitter4j.StatusListener;
import twitter4j.TwitterException;
import twitter4j.TwitterStream;
import twitter4j.TwitterStreamFactory;
import twitter4j.conf.ConfigurationBuilder;

public class TwitterStreamingAPI {
   
    public static void main(String[] args) throws TwitterException{
       
        StatusListener listener = new StatusListener(){
            public void onStatus(Status status) {
                System.out.println(status.getUser().getName() + " : " + status.getText()+ "  Tweeted AT: " + status.getCreatedAt());
            }
            public void onDeletionNotice(StatusDeletionNotice statusDeletionNotice) {}
            public void onTrackLimitationNotice(int numberOfLimitedStatuses) {}
            public void onException(Exception ex) {
                ex.printStackTrace();
            }
        
            public void onScrubGeo(long arg0, long arg1) {
                // TODO Auto-generated method stub
               
            }
       
            public void onStallWarning(StallWarning arg0) {
                // TODO Auto-generated method stub
               
            }           
        };
       
        ConfigurationBuilder cb = new ConfigurationBuilder();
        cb.setDebugEnabled(true)
         .setOAuthConsumerKey(xxx)
		.setOAuthConsumerSecret(xxx)
		.setOAuthAccessToken(xxx)
		.setOAuthAccessTokenSecret(xxx);
       
        TwitterStreamFactory tf = new TwitterStreamFactory(cb.build());
        TwitterStream twitterStream = tf.getInstance();
        twitterStream.(listener);
       
        FilterQuery filtre = new FilterQuery();
        String[] keywordsArray = { "india" }; //filter based on your choice of keywords
        filtre.track(keywordsArray);
        twitterStream.filter(filtre);       
    }      
}

0 Ответов