2012-01-13 14 views
1

Twitter4j APIの学習を開始しました。使用するためにTwitterからすべての資格情報とトークンを取得しました。 今、私は友人のタイムラインをシンプルなJavaプログラムを使ってコンソールに表示しようとしています。Twitter4j APIを使用して友達のタイムラインを取得する

 ConfigurationBuilder cb = new ConfigurationBuilder(); 
     cb.setDebugEnabled(true) 
      .setOAuthConsumerKey(consumerKey) 
      .setOAuthConsumerSecret(consumerSecret) 
      .setOAuthAccessToken(accessToken) 
      .setOAuthAccessTokenSecret(accessSecret); 
    try 
    { 
      TwitterFactory factory = new TwitterFactory(cb.build()); 
      Twitter twitter = factory.getInstance(); 
      String[] srch = new String[] {"usernameoffriend"}; 
      ResponseList<User> users = twitter.lookupUsers(srch); 
      for (User user : users) { 
      System.out.println("Friend's Name " + user.getName()); // this print my friends name 
       if (user.getStatus() != null) 
       { 
       System.out.println("Friend timeline"); 
       List<Status> statusess = twitter.getFriendsTimeline(); 
       for (Status status3 : statusess) 
       { 
         System.out.println(status3.getText()); 
       } 
    } 
} 

コードはエラーを生じてはいません。しかし、友達のタイムラインを印刷する代わりに、MYタイムラインを印刷しています。 私はgetFriendsTimeline()を使用しています。なぜ友達のタイムラインが印刷されないのですか?

ありがとうございます。

答えて

7

getFriendsTimeline()はtwitter4jの最新ビルドで非推奨です。getUserTimeLine()を使用してください。

だから友達のタイムラインを取得するには: getUserTimeline("pseudo")

ConfigurationBuilder cb = new ConfigurationBuilder(); 
      cb.setDebugEnabled(true) 
       .setOAuthConsumerKey(consumerKey) 
       .setOAuthConsumerSecret(consumerSecret) 
       .setOAuthAccessToken(accessToken) 
       .setOAuthAccessTokenSecret(accessSecret); 
     try 
     { 
       TwitterFactory factory = new TwitterFactory(cb.build()); 
       Twitter twitter = factory.getInstance(); 
       String[] srch = new String[] {"usernameoffriend"}; 
       ResponseList<User> users = twitter.lookupUsers(srch); 
       for (User user : users) { 
       System.out.println("Friend's Name " + user.getName()); // this print my friends name 
        if (user.getStatus() != null) 
        { 
        System.out.println("Friend timeline"); 
        List<Status> statusess = twitter.getUserTimeline(user.getName()); 
        for (Status status3 : statusess) 
        { 
          System.out.println(status3.getText()); 
        } 
     } 
    } 
+0

おかげRaffel.Itが働いていました。 :) – vikiiii

+0

@animuson with getUserTimeline( "name")私はいくつかの名前のために私は正しいデータを取得していて、いくつかの名前のために私は私のタイムラインデータを私はここで間違って何を考えています。私はtwitter4jバージョン3.0.3を使用しています。 – gusaindpk

+0

@animusonは、user.getName()の代わりにname.useのuser.getId()の代わりにuser idを使用して問題を解決しました。 – gusaindpk

関連する問題