我在我的网站中使用的是Facebook Comment
的HTML5版本。我有自己的Facebook APP Id。
使用Graph-API
和FQL
(我认为这是怎么做的),我想列出我网站上发布的所有评论。
示例 -
Page Title1
--Comment1
--Comment2
--Comment3
Page Title2
--Comment1
--Comment2
--Comment3
Page Title3
--Comment1
--Comment2
--Comment3
etc.
请帮帮我。
答案 0 :(得分:7)
只要您有一个固定子网页集,您就可以通过两种不同的方式获取评论。
如果您有大量子页面或可变数量,那么您没有一个良好的可扩展解决方案 - 许多人一直在寻找一个:
对于网站中的固定子网页集,您可以使用批处理请求或FQL查询。
批量请求
首先,您需要访问令牌。只需在浏览器中输入以下内容作为网址(信用到this网站):
And this is the javascript jquery code to make a batch request to fetch comments from several urls at once:
$.ajax({
url: 'https://graph.facebook.com/',
type : "POST",
data: {
access_token : 'YOUR_APP_ACCESS_TOKEN',
batch : '[ \
{"method":"GET","relative_url":"URL1"}, \
{"method":"GET","relative_url":"URL2"} \
]'
},
success: function(data) {
jdata = JSON.parse(data);
$.each(jdata, function(index,value){
jdata[index].body = JSON.parse(value.body);
console.log(value.body);
});
// Do whatever you want with jdata
}
});
FQL
inspired from this post
<强>结论强>
由于Facebook的这种限制,我计划切换到显然支持此功能的disqus.com(例如,您可以从此blog看到。)(搜索“最近的评论”)
答案 1 :(得分:1)
Facebook不希望列出您网站上的所有评论,而是希望您实施代码,以便在您的网站上发布新评论时收到通知。
要实现这一点,您必须将一些Javascript放入发布评论的页面中,以便通知您自己:
window.fbAsyncInit = function(){
console.log("subscribing to comment create");
FB.Event.subscribe('comment.create',function(response){
console.log("facbeook comment created: " + JSON.stringify(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 () {
console.log("Facebook comment: " + JSON.stringify(commentQuery));
});
});
};
除了将评论记录到控制台之外,您需要实现一些AJAX,将评论发送回您的网站,您可以将评论存储在数据库中,或者发送电子邮件通知您评论已发布。
答案 2 :(得分:0)
说你的网站是http://mywebsite.com/blog.php?id=3
并且你有一个facebook评论插件,
你可以这样访问评论
https://graph.facebook.com/comments/?ids={YOUR_URL}.
{YOUR_URL} becomes http://mywebsite.com/blog.php?id=3
示例1:(开发者facebook doc网站上安装的评论插件)
网站:http://developers.facebook.com/docs/reference/plugins/comments
示例2:
网站:http://techcrunch.com/2011/04/08/the-seven-most-interesting-startups-at-500-startups-demo-day/
检查一下
可以在此blog post
上找到提取评论的示例代码