无法使用java从restfb中的帖子获取用户详细信息

时间:2016-01-13 14:00:16

标签: java facebook facebook-graph-api restfb

最近,我一直在努力使用java从post_id获取用户信息。我是restfb的新手,但在重新研究之后,下面的代码应该可行。授予所有可用权限。甚至在撰写post_id时在Graph API资源管理器中,我无法检索帖子的作者详细信息。 我就是这样做的:

FacebookClient facebookClient = new DefaultFacebookClient(token);
String command = "orangepolska/feed";
Connection<Post> pagePosts = facebookClient.fetchConnection(command, Post.class);
ArrayList<String> postList = new ArrayList<String>();
String row;
for( List<Post> posts : pagePosts){
    for (Post post : posts) {
        if (post.getCreatedTime().after(startDate) && post.getCreatedTime().before(endDate)){
            String message = post.getMessage();
            CategorizedFacebookType postedBy = post.getFrom();
            Post.Comments comments = post.getComments();
            row = " owner: "+postedBy.getName()+" owner_id: "+postedBy.getId()+" post: "+message+" + " likes: "+post.getLikesCount() + "\n";
            System.out.println(row);
            postList.add(row);
        }
    }
}
return postList;

问题出现在各种函数中:getName(),getID(),getLikesCount()等 - 这些函数返回null。

我该如何解决?

提前致谢。

2 个答案:

答案 0 :(得分:0)

您需要使用fields参数获取Feed,以便Facebook知道您需要填写哪些字段。 RestFB只能访问Facebook提供的信息;)

看看这里:http://restfb.com/#selecting-specific-fields

答案 1 :(得分:0)

Norbert是正确的,但他发布的链接对我不起作用 - 你需要包含&#34; Parameter.with(&#34; fields&#34;,&#34; from&#34;)&#34 ;获取用户信息。

Connection<Post> pagePosts = facebookClient.fetchConnection(command, Post.class, Parameter.with("fields", "from"));