2012-04-16 89 views
1

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

到目前为止,当我收到新的注释(传入comment.create事件处理程序)的ID和HREF,我可以使用下面的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,而不是尝试检索所有答复。问题是,由于'评论'似乎是一个字段而不是一个链接表,我不认为我可以查询它。

其他人碰到过吗?任何建议将不胜感激。

谢谢。

回答

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