使用Graph API获取(识别)对注释的答复



通过Facebook上新的"回复"评论"功能,我注意到对评论的回复与评论相同。但我想知道是否有什么可以区分这两者?

您首先必须从应用程序高级设置启用July Breaking Changes

然后将fields参数与comments图形API一起使用,并包含具有的parent.field(id)列以及具有stream值的filter参数 最终结果:

{POST_ID}/comments?filter=stream&fields=parent.fields(id),message,from,likes

这应该返回带有parent元素的注释和回复,该元素具有回复属于的注释id

--更新

为了更好地排列回复数组,您可以使用以下方法将回复与实际的评论数组合并,您可以在字段参数中包含comments.summary(true)

{POST_ID}/comments?limit=0&filter=toplevel&fields=comments.summary(true),message,from,likes

过滤器参数是可选的

有关字段的详细信息:http://developers.facebook.com/docs/reference/api/Comment/

如果你想在FQL中做这件事,请查看这篇文章的评论http://developers.facebook.com/blog/post/2013/04/03/new-apis-for-comment-replies/

是。您可以在Graph API中查询每个comment对象的parent字段的值。如果有问题的注释是回复,则parent字段的值将是对父注释的引用。否则,将不返回任何值。

此处参考:https://developers.facebook.com/docs/reference/api/Comment/

您可以通过这种方式获得评论回复。

/{{POST_ID}}/?fields=comments{comments}&access_token={{ACCESS_TOKEN}}

你可以通过在评论中嵌套字段来获得评论回复的任何子信息(来自,id(,如下所示:

/{{POST_ID}}/?fields=comments{comments,from,id}&access_token={{ACCESS_TOKEN}}

类似的帖子在这里:https://stackoverflow.com/a/37743410/6001533

如果您正在收听"feed"webhook上的评论,您应该检查是否:

entry[0][changes][0][value][post_id] === entry[0][changes][0][value][parent_id]

对于顶级(新(评论,这将是真的,对于评论的回复,这将为假。

为了模仿@sujit的回答,我接受了他的回答,在订阅源的一个电话中,你可以在一个镜头中获得整个订阅源、评论和对评论的回复,以及这些评论和回复的相关图像。

这是代码

https://graph.facebook.com/$get_facebook/feed?access_token=$facebook_accesstoken&client_id=$facebook_appid&client_secret=$facebook_appsecret&metadata=1&fields=id,status_type,created_time,from,message,comments{comments{attachment,from,id,message},from,id,message,attachment},picture,link,icon

最新更新