使用 Facebook 上新的“回复”“评论”功能,我注意到对评论的回复与评论相同。但我想知道是否有办法区分这两者?
5 回答
您首先必须July Breaking Changes
从您的应用高级设置中启用
然后将fields
参数与comments
图形 API 一起使用,并包含parent.field(id)
带有 的列以及filter
带有值的参数stream
。最终结果:
{POST_ID}/comments?filter=stream&fields=parent.fields(id),message,from,likes
这应该返回评论和回复,parent
其中包含回复所属的评论 id 的元素
- 更新
为了更好地排列回复,您可以使用以下内容将回复与您可以包含comments.summary(true)
在 fields 参数中的实际评论数组合并
{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}}
如果您正在收听关于“提要”网络钩子的评论,您应该检查是否:
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