Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过restFb java api从facebook提取反应数据?_Java_Facebook_Facebook Graph Api_Restfb - Fatal编程技术网

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

通过restFb java api从facebook提取反应数据?,java,facebook,facebook-graph-api,restfb,Java,Facebook,Facebook Graph Api,Restfb,新的facebook api允许我们在页面上的帖子上获得反应,因为fb已经创建了一个反应边缘 我可以通过点击GraphAPI浏览器中的post id/reactions从这个边缘提取数据 以下是graph api请求:- 14971777255241_1526440124323006/反应 和响应数据 {数据:[ { id:100008182891350, 姓名:Harsh Sharma, 类型:爱情 }],分页:{ 光标:{ 之前:TVRBD01QTRNVGD5T0RREE16VXDPAKUW

新的facebook api允许我们在页面上的帖子上获得反应,因为fb已经创建了一个反应边缘 我可以通过点击GraphAPI浏览器中的post id/reactions从这个边缘提取数据

以下是graph api请求:-

14971777255241_1526440124323006/反应

和响应数据

{数据:[ { id:100008182891350, 姓名:Harsh Sharma, 类型:爱情 }],分页:{ 光标:{ 之前:TVRBD01QTRNVGD5T0RREE16VXDPAKUWTMPRD01QTROALK2TNNE5QUTRNRE0ZT1RFEK16RXKZD, 之后:TVRBD01QTRNVGD5T0RREE16VXDPAKUWTMPRD01QTROALK2TNNE5QUTRNRE0ZT1RFEK16RXKZD }}}

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

reactionsCount=post.getReactionsCount();
        System.out.println("post id-->"+post.getId()+"  reactions--->"+post.getReactionsCount());
        reactionsObj=post.getReactions();
对于上面的post id:上面有一个反应,但是我通过restFB得到的反应计数为零,但是我从graphapi得到的数据

每次通过reactionsObj=post.getReactions获得的reactionObj也为空;

我成功地得到了帖子/评论/喜欢,只有反应边缘在制造问题。 请告诉我哪里出了问题

编辑

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

要获得帖子的反应,您必须在请求中添加如下字段:

fetchConnection(pageId+"/feed", Post.class, Parameter.with("fields","reactions.summary(1)"));
包含内容为requires version v2.6或更高版本的错误消息提示使用了错误的Graph API版本来请求节点。 在DefaultFacebookClient构造函数中选择正确的版本:

new DefaultFacebookClient(accessToken, Version.VERSION_2_6);
从评论中收集的解决方案:

要获得帖子的反应,您必须在请求中添加如下字段:

fetchConnection(pageId+"/feed", Post.class, Parameter.with("fields","reactions.summary(1)"));
包含内容为requires version v2.6或更高版本的错误消息提示使用了错误的Graph API版本来请求节点。 在DefaultFacebookClient构造函数中选择正确的版本:

new DefaultFacebookClient(accessToken, Version.VERSION_2_6);

请提供您为检索文章而进行的fetchObject调用。这将有助于调查这一点。我已经编辑了这个问题,以包括电话和问题。您需要添加fields参数来访问这些反应。尝试以下操作:fetchConnectionpageId+/feed、Post.class、Parameter.withfields、reactions.summary1;谢谢@Norbert,我想这就是我所缺少的,但是现在我得到了以下异常,收到了类型为OAutheException的Facebook错误响应:12个反应读取API需要版本v2.6或更高版本的代码12,子代码为null。我只使用api v2.6中的访问令牌,试图找出解决方案您应该使用给定版本创建FacebookClient实例。与新的DefaultFacebookClientaccessToken一样,Version.Version_2_6;restfb的版本必须至少为1.22.0。请提供您为检索文章而调用的fetchObject。这将有助于调查这一点。我已经编辑了这个问题,以包括电话和问题。您需要添加fields参数来访问这些反应。尝试以下操作:fetchConnectionpageId+/feed、Post.class、Parameter.withfields、reactions.summary1;谢谢@Norbert,我想这就是我所缺少的,但是现在我得到了以下异常,收到了类型为OAutheException的Facebook错误响应:12个反应读取API需要版本v2.6或更高版本的代码12,子代码为null。我只使用api v2.6中的访问令牌,试图找出解决方案您应该使用给定版本创建FacebookClient实例。与新的DefaultFacebookClientaccessToken一样,Version.Version_2_6;restfb至少需要是1.22.0版