繁体   English   中英

通过restFb Java API从Facebook提取反应数据?

[英]Extraction reactions data from facebook via restFb java api?

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

这是图形API请求:-

1497117777255241_1526440124323006 /反应

和响应数据

{“ data”:[{“ id”:“ 100008182891350”,“ name”:“ Harsh Sharma”,“ type”:“ LOVE”}],“ paging”:{“ cursors”:{“ before”:“ TVRBd01EQTRNVGd5T0RreE16VXdPakUwTmpRd01EQTROalk2Tn ”,“之后”:“ TVRBd01EQTRNVGd5T0RreE16VXdPakUwTmpRd01EQTROalk2TnpnNE5qUTRNRE0zT1RFek16RXkZD”}}}

现在,我尝试使用java rest fb api进行相同的操作,首先提取帖子,然后使用该对象对其调用get Reactions方法,但没有获取任何数据。 这是相同的示例代码:-

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

对于上面的帖子id:有一个反应,但是我通过restFB得到的反应计数为零,但是我从图api获取数据。

每次reactObj也为null(通过reactObj = 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() );


                    }
}

我成功地获得了帖子/评论/喜欢,只有反应的边缘在制造问题。 请让我知道我要去哪里了。

编辑

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

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

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

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

包含内容要求版本v2.6或更高版本的错误消息,表明使用了错误的Graph API版本来请求节点。 DefaultFacebookClient构造函数中选择正确的Version

new DefaultFacebookClient(accessToken, Version.VERSION_2_6);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM