2010-05-08 3 views
1

Я уже давно использую Twitter4J, но я не могу найти эту особенность.Twitter4J - Просмотр профилей без входа в систему

Я хочу, чтобы иметь возможность искать по имени, и когда определенный пользователь находится в твиттере, я хочу получить основную информацию, такую ​​как твиты, последователи (например, вы можете получить доступ через http), но как это сделать Twitter4J? Ни примеры кода, ни источник не могли мне помочь.

Спасибо,

Уильям ван Дорн

+0

Спасибо за добавление тега Femeraf, я не мог, так как я не имею 250+ репутацию еще. – wvd

ответ

3

Посмотрите на следующие: Twitter4J.api.UserMethods Это имеет методы, которые вы ищете. Класс Twitter непосредственно реализует его.

+0

Спасибо, и я думаю, я хочу .searchUsers() здесь? Это работает, как я ожидаю? EDIT: Как получить доступ к этим методам? Я не могу сделать экземпляр, и они не статичны. – wvd

+0

wvd thats интерфейс, поэтому, очевидно, вы не можете его создать. См. Мои изменения – Woot4Moo

+0

Я тебя не понимаю? Не могли бы вы дать мне быстрый пример того, как его использовать. – wvd

2

Я думаю, вам следует использовать библиотеку twitter4j, получить токен доступа, затем создать объект twitter и , а затем вызвать showuser(), он вернет объект пользователя, а затем с помощью пользовательского объекта u получит всю информацию пользователя входа. дайте образец кода вам.

AccessToken a = new AccessToken(token,secret); 
    Twitter twitter = new TwitterFactory().getInstance(); 
    twitter.setOAuthConsumer(Constants.CONSUMER_KEY, Constants.CONSUMER_SECRET); 
    twitter.setOAuthAccessToken(a); 

    int i=twitter.getId(); 
    User u=twitter.showUser(i); 
    System.out.println("user name"+u.getName()); 
+0

upto name ok Что относительно изображения профиля или изображения аватара для этого пользователя, какой метод мы использовали? – blackjack

0

Мой pom.xml

... 
    <dependencies> 
     <dependency> 
      <groupId>org.twitter4j</groupId> 
      <artifactId>twitter4j-core</artifactId> 
      <version>[4.0,)</version> 
     </dependency> 
    </dependencies> 
... 

Мой класс Test

import twitter4j.Twitter; 
    import twitter4j.TwitterException; 
    import twitter4j.TwitterFactory; 
    import twitter4j.User; 
    import twitter4j.conf.ConfigurationBuilder; 

    public final class GetAccountSettings { 

     private final String twitter_consumer_key = "oKu1emQJUGArI6kFNXNTCZ111"; 
     private final String twitter_consumer_secret = "g3EzljGP91AuqjBtIRjGFbKVEAg5cpxH96D6rWIgk4MbhK5111"; 
     private final static String oauth_token = "2847960911-LYoKllWcTo3VxZMdcLktWDPbLaeOywwrkf2W111"; 
     private final static String oauth_token_secret = "JoCajDpKvvzzOfsfQpar8aqIDmspyrGehvdj3YsCAp111"; 

     public static void main(String[] args) { 
     try { 

      GetAccountSettings getAccountSettings = new GetAccountSettings(); 

      // Twitter Conf. 
      ConfigurationBuilder cb = new ConfigurationBuilder(); 
      cb.setDebugEnabled(true).setOAuthConsumerKey(getAccountSettings.twitter_consumer_key).setOAuthConsumerSecret(getAccountSettings.twitter_consumer_secret) 
       .setOAuthAccessToken(getAccountSettings.oauth_token).setOAuthAccessTokenSecret(getAccountSettings.oauth_token_secret); 

      TwitterFactory tf = new TwitterFactory(cb.build()); 
      Twitter twitter = tf.getInstance(); 

      User user = twitter.showUser("MR_Camaleon"); 
      System.out.println("\n *************************** INFORMATION TWITTER PROFILE " + user.getScreenName() + " ************************* \n\n"); 
      System.out.println("  Id:     " + user.getId() + " \n"); 
      System.out.println("  Screen name:   " + user.getScreenName() + " \n"); 
      System.out.println("  Name:     " + user.getName() + " \n"); 
      System.out.println("  Description:   " + user.getDescription() + " \n"); 
      System.out.println("  Image profile:   " + user.getProfileImageURL() + " \n"); 
      System.out.println("  Follorwers:   " + user.getFollowersCount() + " \n"); 
      System.out.println("  Friends:    " + user.getFriendsCount() + " \n"); 
      System.out.println("  Created date:   " + user.getCreatedAt() + " \n"); 
      System.out.println("  Language:    " + user.getLang() + " \n"); 
      System.out.println("  Time zone:    " + user.getTimeZone() + " \n\n"); 
      System.out.println(" ******************************************************************************************************"); 

     } catch (TwitterException te) { 
      te.printStackTrace(); 
      System.out.println("Failed to get account settings: " + te.getMessage()); 
      System.exit(-1); 
     } 
     } 
    } 
Смежные вопросы