2011-03-21 93 views
4

我正在努力解决一个非常简单的问题。 facebook文档一如既往,没有给我足够的解释。关于Facebook评论插件的一个简单问题

我将一个Facebook注释插件附加到我的网站。并且使用“comment.create”事件的回调,我可以获得刚创建的评论的信息。

FB.Event.subscribe('comment.create', function(response) { 
    alert(JSON.stringify(response)); 
}); 

JSON的效应初探样子:

{"href":"http://siteaddress.com/page.htm", "commentID":"111122223333" } 

我喜欢现在做的是检索与commentID单注释的数据。虽然我预计下面的方式应该工作:

https://graph.facebook.com/111122223333 

它只是给了我“假”。我可以使用来获取连接到该页面所有评论:

https://graph.facebook.com/comments?ids=http://siteaddress.com/page.htm 

但是,什么是检索只是用commentID创建的单个注释数据的正确方法?

+0

请只编辑您的问题以提供更多信息。 – 2011-03-21 08:52:35

回答

0

嗨,如果你有评论编号,那么为什么你不使用FQL和查询到Comment Table获得所有评论相关数据?

+0

谢谢,Awais。它是使用commentID检索评论数据的唯一方法吗?该文件说,使用post_fbuid(comment'create返回的commentID)查询是不可能的,因为它没有索引。您能否使用commentID向我展示一个FQL示例? – 2011-03-21 13:11:28

0

我有这个相同的问题。似乎发生的情况是,commentID和parentCommentID实际上只是返回该页面的唯一ID,而不是注释本身的唯一ID。

单个注释的唯一ID是该页面的唯一ID(即,当前正在返回的值为“commentID”),下划线后跟另一个数字(我已完成的测试中有8位数字)。您可以直接从响应提供的图表中查看。

我已经记录了一个与Facebook的错误,希望得到这个修正!臭虫在以下地址:

http://bugs.developers.facebook.net/show_bug.cgi?id=16535

+0

感谢您的回复,@达伦。 看来,使用FB.event.subscribe()并没有简单的方法来检索并保存您的评论。 顺便说一句,我发现了一个解释评论同步问题的博客文章: [link] http://www.loadedguntheory.com/blog/listpost/tim/Syncing_Comments_with_Facebook.html [/ link] – 2011-04-18 05:27:08

9

我也面临同样的问题...所以我所做的就是,我问最后发表的评论或使用FQL从FB意见表答复。在这里,我按照时间降序排列评论,并选择最佳评论。尽管有人可能会认为如果同时发布两条评论,可能会引起歧义,但在我的情况下,我尝试并测试了超过2个用户,但我总是得到预期的结果。

FB.Event.subscribe('comment.create', function(response) { 
    FB.api({ 
     method: 'fql.query', 
     query: "select post_fbid, fromid, object_id, text, time from comment where object_id in (select comments_fbid from link_stat where url ='URL_OF_THE_COMMENT_BOX') or object_id in (select post_fbid from comment where object_id in (select comments_fbid from link_stat where url ='URL_OF_THE_COMMENT_BOX')) order by time desc limit 1" 
     }, 
     function(response) { 
     var feed = response[0]; 
     alert(feed.text) 
     } 
    ); 
    }); 
0

我结合了几种方法(包括来自Charsee)。

//此查询需要“commentID”和“href”。 CommentID返回comment.create“响应”对象

//此代码需要一个转义函数“addslashes(str)”来处理单引号。()()()()()()()()()()()()()()()()()()()()()()()或object_id in(选择post_fbid from comment where object_id in(从link_stat选择comments_fbid,其中url ='“+ addslashes(href)+”'))“;”