我已经开始学习 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/