我已经开始学习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()。那么为什么它不打印我的朋友的时间轴。
提前谢谢。
答案 0 :(得分:7)
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());
}
}
}