Java 获得推特关注者';用户名
我与TwitterFactory的合作方式如下:Java 获得推特关注者';用户名,java,twitter,Java,Twitter,我与TwitterFactory的合作方式如下: ConfigurationBuilder cb = new ConfigurationBuilder(); cb.setDebugEnabled(true) .setOAuthConsumerKey("xxxxxxxxxxxxxx") .setOAuthConsumerSecret("xxxxxxxxxxxxx") .setOAuthAccessToken
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey("xxxxxxxxxxxxxx")
.setOAuthConsumerSecret("xxxxxxxxxxxxx")
.setOAuthAccessToken(xxxxxxxxxxxxx )
.setOAuthAccessTokenSecret(xxxxxxxxxxxxx);
TwitterFactory tf = new TwitterFactory(cb.build());
twitter = tf.getInstance();
long cursor = -1;
IDs ids = twitter.getFollowersIDs(cursor);
问题是,我不想要ID,但我需要获得追随者的用户名,我不知道怎么做?
你知道我该如何获得用户名吗
更新代码:
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey("xxxxxxxxxxxxxx")
.setOAuthConsumerSecret("xxxxxxxxxxxxx")
.setOAuthAccessToken(xxxxxxxxxxxxx )
.setOAuthAccessTokenSecret(xxxxxxxxxxxxx);
TwitterFactory tf = new TwitterFactory(cb.build());
twitter = tf.getInstance();
long cursor = -1;
IDs ids = twitter.getFollowersIDs(cursor);
long[] id = ids.getIDs();
ResponseList<User> users = twitter.lookupUsers(id);
for (User user : users) {
usernames.add(user.getScreenName());
}
}
ConfigurationBuilder cb=new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey(“xxxxxxxxxxxx”)
.SetOAuthConsumerCret(“XXXXXXXXXXXX”)
.setOAuthAccessToken(XXXXXXXXXXXX)
.setOAuthAccessTokenSecret(XXXXXXXXXXXX);
TwitterFactory tf=新的TwitterFactory(cb.build());
twitter=tf.getInstance();
长光标=-1;
IDs=twitter.getFollowersIDs(游标);
long[]id=ids.getIDs();
ResponseList users=twitter.lookupUsers(id);
for(用户:用户){
usernames.add(user.getScreenName());
}
}
由于获取用户名是一个额外的调用,因此我创建了一个方法,可以成批调用100个用户名。在我的使用中,我将它们映射到一个静态映射,但是你明白了
public static HashMap<Long,String> usernameMap = new HashMap<Long,String>();
public static void requestBatch(long[] batch,Twitter twitter) throws TwitterException
{
ResponseList<User> responseList = twitter.lookupUsers(batch);
for(User u : responseList){
usernameMap.put(u.getId(), u.getScreenName());
}
}
publicstatichashmap usernameMap=newhashmap();
publicstaticvoidrequestbatch(long[]batch,Twitter)抛出TwitterException
{
ResponseList ResponseList=twitter.lookupUsers(批处理);
for(用户u:响应列表){
put(u.getId(),u.getScreenName());
}
}
谢谢,我尝试了您的解决方案,但有点延迟。但是我在调用lookupusers()时遇到一个错误,它是“TwitterException{exceptionCode=[e39d013b-2e5d0c1b],statusCode=404,message=Sorry,该页面不存在,code=34,retryAfter=-1,rateLimitStatus=RateLimitStatusJSONImpl{remaining=178,limit=180,resetTimeInSeconds=1384761999,secondsUntilReset=819},version=3.0.0}”。你有什么想法吗?哦,如果用户ID不存在,查找用户会抛出404。你可以用catch(推特例外)来捕捉和处理它。非常感谢你,当然是在你的帮助下,我让它工作了。我在传递参数批时犯了一个可笑的错误。我已经在我的第一篇文章中发布了代码。我正在尝试找出是否有可能获得我的追随者或朋友的朋友的追随者。这可能吗@frankie liuzzi?我也在这里打开了一个新的线程。先谢谢你