通过 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);
新的 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);