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



最近我一直在用java从post_id获取用户信息。我是restfb的新手,但经过研究,下面的代码应该可以工作了。将授予所有可用权限。即使在Graph API资源管理器中,当编写post_id时,我也无法检索到post的作者详细信息。我就是这样做的:

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。

我该怎么修?

提前谢谢。

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

看看这里:http://restfb.com/#selecting-特定字段

Norbert是正确的,但他发布的链接对我不起作用——你需要包含"Parameter.withs("fields","from")"来获取用户信息。

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

最新更新