Facebook FQL用于检索对评论框评论的回复

时间:2012-04-16 19:06:29

标签: facebook facebook-fql facebook-comments

我正在使用Facebook评论框插件,我还订阅了comment.create JavaScript事件,以便我可以使用FQL从Facebook检索评论的详细信息,并将评论数据存储在我的应用程序数据库中。

到目前为止,当我收到新注释的ID和href(传入comment.create事件处理程序)时,我可以使用以下FQL来检索该注释的详细信息:

SELECT object_id, post_id, fromid, time, text, username 
FROM comment 
WHERE post_fbid='*** EVENT COMMENT_ID ***' AND object_id 
    IN (SELECT comments_fbid FROM link_stat WHERE url='*** EVENT HREF ***')

所有这一切都很有效。

用户回复评论时会出现问题。在这种情况下,上面的查询无法检索注释。

I've done some digging around并且发现Facebook'评论'表显然有一个'评论'字段(或关系,不确定),其中包含对评论的回复。您甚至可以使用以下查询来检索对评论的所有回复:

SELECT comments
FROM comment 
WHERE post_fbid='*** EVENT COMMENT_ID ***' AND object_id 
    IN (SELECT comments_fbid FROM link_stat WHERE url='*** EVENT HREF ***')

在修改FQL测试控制台后,我可以看到回复正被添加到此“评论”字段中。但是,我试图查找我在comment.create事件处理程序中收到的ID的特定代码,而不是尝试检索所有回复。问题是,由于“评论”似乎是一个字段而不是一个链接表,我认为我不能查询它。

其他人遇到这个?任何建议都将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:0)

试试这个:

SELECT text, time, id, likes, fromid, comments FROM comment WHERE   is_private = 0 AND 
object_id IN (SELECT comments_fbid FROM link_stat WHERE url ='YOUR_URL') or
object_id in (select post_fbid from comment where object_id in (select comments_fbid from link_stat where url ='YOUR_URL')) 
ORDER BY time DESC limit 0,10