使用Twitter4j API获取朋友的时间表

时间:2012-01-13 05:37:12

标签: java twitter twitter4j

我已经开始学习Twitter4j API,并从Twitter获得所有凭据和令牌以使用它。 现在我正在尝试使用一个简单的java程序获取我朋友的时间表并将其打印在控制台上。

       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()。那么为什么它不打印我的朋友的时间轴。

提前谢谢。

1 个答案:

答案 0 :(得分:7)

在最新版本的twitter4j上弃用

getFriendsTimeline(),使用getUserTimeLine();

所以要获得朋友的TimeLine: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());
                     }
        }
    }