我正在使用Facebook评论框插件:
<fb:comments href="${myPageUrl}" num_posts="20" width="630"></fb:comments>
每件事都运行得很好。问题是我想把发布的评论存储到我的数据库中。有没有办法获取发布在评论框上的文本。
我使用以下js来捕获comment-create
事件。
FB.Event.subscribe('comment.create', function(response) {
alert(response.commentID)
});
我从这里得到了一些commentId
,但我不知道如何获取发布在特定comment-create
事件上的确切评论。
发布于 2012-02-15 22:22:56
Coomie:实际上,每当有人发表评论时,我都会通过'comment.create‘来捕捉事件。我能够捕捉到这一事件,但我想知道如何在那个特定的事件上发布评论(文本)。如event.text或event.comment,但没有找到直接的方法
所以,现在我用fql来操作它。这与您的示例有些类似。首先检索整个列表,然后选择最上面的列表。我的示例代码如下:
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 ='${PageUrl}') order by time desc limit 1"
},
function(response) {
var feed = response[0];
alert(feed.text)
});
});
所以这个方法得到的结果和我想要的完全一样。
发布于 2012-02-10 14:50:01
我没有完整的答案,但这应该会带你上路。
您可以使用facebook图形api来提取有关开放图形id的信息(开放图形id是FB识别人员、网站、应用程序或URL的方式)。例如:这个页面:http://www.inhousegroup.com.au/newsroom/23-best-practice-for-advanced-seo/ (解雇我的地方)使用了一个评论框。该网页的开放id为10150441190653416。因此,当你在这个页面上发表评论时,facebook会将你的评论视为该页面“墙”上的一篇文章。
使用图形api,您可以在此处获得有关该页面的一些JSON信息:http://raph.facebook.com/10150441190653416
你可以从这个地址获取帖子:http://graph.facebook.com/10150441190653416/posts
但你必须得到一个访问令牌。
然后,您只需在保存时导入帖子,并将您的数据库与JSON进行比较,然后根据需要添加记录。
祝好运!
发布于 2012-11-07 16:24:10
FB.Event.subscribe('comment.create', function(response) {
var commentQuery = FB.Data.query('SELECT fromid, text FROM comment WHERE post_fbid=\'' + response.commentID + '\' AND object_id IN (SELECT comments_fbid FROM link_stat WHERE url=\'' + response.href + '\')');
FB.Data.waitOn([commentQuery], function () {
text = commentQuery.value[0].text;
// Use your preferred way to inform the server to save comment
$.post( 'http://example.com/comment', text )
});
});
https://stackoverflow.com/questions/5551197
复制相似问题