关于facebook评论插件的一个简单问题
Posted
技术标签:
【中文标题】关于facebook评论插件的一个简单问题【英文标题】:A simple question about facebook comments plugin 【发布时间】:2011-07-19 11:10:27 【问题描述】:我正在努力解决一个非常简单的问题。 facebook 文档一如既往地没有给我足够的解释。
我在我的网站上附加了一个 facebook cmets 插件。并且使用“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
它只是给了我“错误”。我可以使用以下方法检索附加到该页面的所有 cmets:
https://graph.facebook.com/comments?ids=http://siteaddress.com/page.htm
但是,检索刚刚使用 commentID 创建的单个评论数据的正确方法是什么?
【问题讨论】:
请编辑您的问题以提供更多信息。 【参考方案1】:我也面临同样的问题......所以我所做的是,我使用 fql 从 fb cmets 表中查询最后发布的评论或回复。在这里,我按时间降序对 cmets 进行排序,然后选择最前面的一个。虽然有人可能认为如果同时发布两个 cmet,可能会导致歧义,但在我的情况下,我尝试并测试了它涉及超过 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)
);
);
【讨论】:
【参考方案2】:您好,如果您有评论 ID,那么为什么不使用 FQL 并查询 Comment Table 来获取所有评论相关数据?
【讨论】:
谢谢,Awais。它是使用commentID 检索评论数据的唯一方法吗?该文档说使用 post_fbuid(在“comment.create”上返回的commentID)进行查询是不可能的,因为它没有索引。你能给我看一个使用commentID的FQL示例吗?【参考方案3】:我也有同样的问题。似乎正在发生的事情是,commentID 和 parentCommentID 实际上只是返回该页面的唯一 ID,而不是评论本身的唯一 ID。
单个评论的唯一 ID 是页面的唯一 ID(即当前作为“commentID”返回的值),下划线后跟另一个数字(在我所做的测试中为 8 位) .您可以直接从响应提供的图表中查找。
我已经在 Facebook 上记录了一个错误,希望能得到修复!错误地址如下:
http://bugs.developers.facebook.net/show_bug.cgi?id=16535
【讨论】:
感谢您的回复,@Darren。似乎没有简单的方法可以使用 FB.event.subscribe() 检索和保存您的评论。顺便说一句,我发现了一篇解释评论同步问题的博文:[link]loadedguntheory.com/blog/listpost/tim/…【参考方案4】:嗯。我可以通过 id 检索评论数据(id 格式如下:1234567890123456_12345678)。我从 url 中检索的 ID 如下: https://graph.facebook.com/comments?ids=$url
【讨论】:
【参考方案5】:我结合了几种方法(包括来自 Charsee)。
// 这个查询需要一个“commentID”和“href”。在comment.create "response" 对象上返回commentID
// 此代码需要转义函数“addslashes(str)”来处理单引号。
var query = "SELECT text, fromid FROM comment WHERE post_fbid='"+addslashes(commentID)+"' AND (object_id in (select cmets_fbid from link_stat where url ='"+addslashes(href)+"') 或object_id in (select post_fbid from comment where object_id in (select cmets_fbid from link_stat where url ='"+addslashes(href)+"')))";
【讨论】:
以上是关于关于facebook评论插件的一个简单问题的主要内容,如果未能解决你的问题,请参考以下文章