1

我正在使用 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 ***')

所有这一切都很好。

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

我做了一些挖掘,发现 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 的特定回复。问题是,由于“评论”似乎是一个字段而不是链接表,我认为我无法查询它。

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

谢谢。

4

1 回答 1

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
于 2012-10-17T05:56:35.117 回答