Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获得推特关注者';用户名_Java_Twitter - Fatal编程技术网

Java 获得推特关注者';用户名

Java 获得推特关注者';用户名,java,twitter,Java,Twitter,我与TwitterFactory的合作方式如下: ConfigurationBuilder cb = new ConfigurationBuilder(); cb.setDebugEnabled(true) .setOAuthConsumerKey("xxxxxxxxxxxxxx") .setOAuthConsumerSecret("xxxxxxxxxxxxx") .setOAuthAccessToken

我与TwitterFactory的合作方式如下:

  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?我也在这里打开了一个新的线程。先谢谢你