java - 使用 Twitter4j API 获取 friend 的时间线

标签 java twitter twitter4j

我已经开始学习 Twitter4j API 并从 Twitter 获得了所有凭证和 token 以使用它。 现在我正在尝试使用一个简单的 java 程序获取我 friend 的时间线并将其打印在控制台上。

       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());
                 }
    }
}

代码没有给出错误。但是打印的不是我 friend 的时间轴,而是打印我的自己的时间轴。 我正在使用 getFriendsTimeline() 。那为什么它不打印我 friend 的时间线。

提前谢谢你。

最佳答案

getFriendsTimeline() 在最新版本的 twitter4j 上已弃用,请使用 getUserTimeLine()

所以获取 friend 的时间线: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());
                     }
        }
    }

关于java - 使用 Twitter4j API 获取 friend 的时间线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8846411/

相关文章:

java - 一次从多个套接字接收数据(多线程)

java - 时区转换期间的奇怪行为

php - 使用 Twitter API 已经开始给出一个 Sorry Page does not exist 错误,即使它早些时候工作

android - 如何在Android应用程序中从Twitter获取用户信息?

java - 如何使用 Twitter4j 获取 twitter 中的 via 字段?

java - 使用对象的运行时类实例化泛型类

java - 单击按钮时如何在 TextView 中显示 ArrayList?

php - Twitter oAuth 请求 token 无效

ruby-on-rails - 将 Twitter 帐户连接到现有的设计帐户

android - 如果我有一个推文字符串 (json),我可以加载到 Twitter4j Tweet[] 中吗?