Question

i'm using restfb to fetch some posts and every comment of each posts of a facebook page in this way:

FacebookClient facebookClient = new DefaultFacebookClient(MY_ACCESS_TOKEN);
Connection<Post> pagePosts = facebookClient.fetchConnection("iPhone.page/feed", Post.class);
for (List<Post> posts : pagePosts)
    for (Post post : posts){
        for(Comment comment: post.getComments().getData()){
        //get number of likes of comment
        }
        String message = post.getMessage();
        String id      = post.getId();
        long timestamp = post.getCreatedTime().getTime()/1000;
        //store info            
    }

My problem borns when it fetch a post like this.

It has 140 comments but the toString() method gives me:

Post[actions=[...] application=null attribution=null caption=techblr.com comments=Comments[count=157 data=[]] createdTime=Wed Feb 27 14:41:58 CET 2013 ....]

the json part of comment is:

comments=Comments[count=157 data=[]]

count=157

but if you go on that post NOW it says 145... and there is no data!

What could be the problem about that? why it give me different data from real one?

Était-ce utile?

La solution

I solved in this way:

private static List<FBComment> getCommentFromPost(FacebookClient client, String post_id){
    List<String> comments = new ArrayList<FBComment>();

    Connection<Comment> allComments = client.fetchConnection(post_id+"/comments", Comment.class);
    for(List<Comment> postcomments : allComments){
        for (Comment comment : postcomments){
        long likes     = comment.getLikeCount()==null?(comment.getLikes()==null?0:comment.getLikes()):comment.getLikeCount();
        comments.add(comment.getMessage()+" - "+likes);
        }
    }


    return comments;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top