新的facebook api允许我们对页面上的帖子做出反应,因为这个fb创建了反应边缘 我可以通过简单地从图形api资源管理器中点击后id /反应来从这个边缘提取数据。
这是图api请求: -
1497117777255241_1526440124323006 /反应
和响应数据
{“data”:[ { “id”:“100008182891350”, “名字”:“苛刻的夏尔马”, “类型”:“爱” }],“paging”:{ “游标”:{ “之前”:“TVRBd01EQTRNVGd5T0RreE16VXdPakUwTmpRd01EQTROalk2TnpnNE5qUTRNRE0zT1RFek16RXkZD”, “之后”:“TVRBd01EQTRNVGd5T0RreE16VXdPakUwTmpRd01EQTROalk2TnpnNE5qUTRNRE0zT1RFek16RXkZD” }}
现在我尝试使用java rest fb api做同样的事情,我首先提取帖子,然后使用该对象,我调用get reaction方法,但我没有得到任何数据。 以下是相同的示例代码: -
reactionsCount=post.getReactionsCount();
System.out.println("post id-->"+post.getId()+" reactions--->"+post.getReactionsCount());
reactionsObj=post.getReactions();
对于上面的帖子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() );
}
}
我成功获得帖子/评论/喜欢,只有反应边缘会产生问题。 请让我知道我哪里出错了。
修改
Connection<Post> postSearch =FacebookClientBean.getFacebookclient().fetchConnection(pageId+"/feed", Post.class);
答案 0 :(得分:4)
评论中收集的解决方案:
要在帖子上获得反应,您必须在请求中添加字段,如下所示:
gfortran -c testF.f
g++ -c testC.cpp
g++ -o test testF.o testC.o -lg2c
内容的错误消息需要v2.6或更高版本,提示错误的Graph API版本用于请求节点。
在fetchConnection(pageId+"/feed", Post.class, Parameter.with("fields","reactions.summary(1)"));
构造函数中选择正确的Version
:
DefaultFacebookClient