通过 restFb java api 从 facebook 提取反应数据?

Extraction reactions data from facebook via restFb java api?

新的 facebook api 允许我们在页面上的 post 上获得反应,为此 fb 创建了一个 反应边缘 我可以通过简单地从图 api 资源管理器中点击 post-id/reactions 来从这条边提取数据。

这是图表 api 请求:-

1497117777255241_1526440124323006/reactions

和响应数据

{ "data": [ { "id": "100008182891350", "name": "Harsh Sharma", "type": "LOVE" } ], "paging": { "cursors": { "before": "TVRBd01EQTRNVGd5T0RreE16VXdPakUwTmpRd01EQTROalk2TnpnNE5qUTRNRE0zT1RFek16RXkZD", "after": "TVRBd01EQTRNVGd5T0RreE16VXdPakUwTmpRd01EQTROalk2TnpnNE5qUTRNRE0zT1RFek16RXkZD" } } }

现在我尝试使用 java rest fb api 做同样的事情,我首先在其中提取 post 然后使用该对象我调用它的 get reactions 方法但我没有得到任何数据。 这是相同的示例代码:-

reactionsCount=post.getReactionsCount();
        System.out.println("post id-->"+post.getId()+"  reactions--->"+post.getReactionsCount());
        reactionsObj=post.getReactions();

对于上面的 post id :它有一个反应,但我通过 restFB 得到的反应计数为零,但我从图表 api.

每次reactionObj也是null(通过reactionsObj=post.getReactions()获得); )

if(reactionsObj!=null)
            {
                System.out.println("bring it on reactions-------");
                    for (ReactionItem reactionListItem : reactionsObj.getData()) 
                    {
                        reactionsMap.put("id", reactionListItem.getId());
                        reactionsMap.put("name", reactionListItem.getName() );
                        reactionsMap.put("type",reactionListItem.getType() );


                    }
}

我 posts/comments/likes 成功了,只有反应边缘产生了问题。 请让我知道哪里出错了。

编辑

Connection<Post>  postSearch =FacebookClientBean.getFacebookclient().fetchConnection(pageId+"/feed", Post.class);

从评论中收集的解决方案:

要获得对 Post 的反应,您必须像这样在请求中添加字段:

fetchConnection(pageId+"/feed", Post.class, Parameter.with("fields","reactions.summary(1)"));

内容为requires version v2.6 or higher的错误消息提示错误的Graph API版本用于请求节点。 Select DefaultFacebookClient 构造函数中的正确 Version

new DefaultFacebookClient(accessToken, Version.VERSION_2_6);