如何使用应用访问令牌获取有关这些帖子的网页帖子和评论?

时间:2016-02-11 09:36:36

标签: facebook-graph-api restfb

我想使用restfb创建一个应用,以获取任何页面的帖子上的所有帖子和评论。我能够使用用户访问令牌这样做但使用app访问令牌我只能获得帖子而不是评论。这可能是什么原因?

以下代码使用用户访问令牌获取帖子和评论,但使用app令牌时,它不会发表评论。

Page page = facebookClient.fetchObject("lockheedmartin", Page.class);
System.out.println(page.getIsVerified());
System.out.println("bio: "+page.getCategory());
int totalResults = 0;
Connection<Post> pageFeed = facebookClient.fetchConnection(page.getId() + "/feed", Post.class,Parameter.with("limit", 20));
for (List<Post> feed : pageFeed) {
    totalResults = totalResults + feed.size();
    for (Post post : feed) {
        com.restfb.types.Post.Comments comments = post.getComments();
        if(comments !=null){
            List<Comment> commentList = comments.getData();
            for(Comment comment : commentList){
                System.out.println(comment.getMessage());
            }
        }               
    }           
}

所以我必须使用post的id来获取评论。

Page page = facebookClient.fetchObject("lockheedmartin", Page.class);
int totalResults = 0;
Connection<Post> pageFeed = facebookClient.fetchConnection(page.getId() + "/feed", Post.class,Parameter.with("limit", 20));
for (List<Post> feed : pageFeed) {
    totalResults = totalResults + feed.size();
    for (Post post : feed) {
        Connection<Comment> comments = facebookClient.fetchConnection(post.getId()+ "/comments", Comment.class);
        if(comments !=null){
            List<Comment> commentList = comments.getData();
            for(Comment comment : commentList){
                System.out.println(comment.getMessage());
            }
        }               

    }           
}

1 个答案:

答案 0 :(得分:0)

页面很可能受年龄或位置的限制,因此您必须使用用户或页面令牌。应用程序令牌与用户没有任何关系,因此Facebook不知道您是否被允许查看内容。

有关令牌的更多信息: