在网站文章和粉丝页面之间同步 facebook 评论的最佳方式是什么。我想要实现的是:
- 以fb评论作为评论系统在网站上发表文章
- 用户可以通过网站评论这篇文章
- 用户可以通过facebook粉丝页面评论这篇文章(例如分享这篇文章的链接后)
- 网站和fb之间的评论是同步的
目前,我完成了文档中写的所有内容,我所能做的就是通过网站评论文章,但我找不到从 facebook 显示/访问此讨论的方法。即使在添加评论后,我的帐户上也没有显示任何活动。一切都只显示在网站上。
在网站文章和粉丝页面之间同步 facebook 评论的最佳方式是什么。我想要实现的是:
目前,我完成了文档中写的所有内容,我所能做的就是通过网站评论文章,但我找不到从 facebook 显示/访问此讨论的方法。即使在添加评论后,我的帐户上也没有显示任何活动。一切都只显示在网站上。
它被称为“评论镜像”,而且现在还没有公开发布。您可以选择在此页面上获取有关它的更新:https ://developers.facebook.com/products/social-plugins/comments
我最近在我的网站上这样做了,虽然在 Facebook 页面上发布的评论通过网站,评论帖子的链接重定向到 Facebook 帖子,在那里可以发表评论。
在我使用的代码下方:
<script>
function get_facebook_posts() {
console.log('Loading facebook posts');
FB.api('/|REPLACE WITH PAGE ID/feed?limit=10&access_token=|REPLACE WITH FB ACCESS TOKEN|', function(response)
{
$.each(response.data, function(key, val){
message = val['message'];
if(message != 'undefined' && message != '' && message != null && typeof(message) != 'undefined'){
identifier = val['id'];
identifier_parts = identifier.split('_');
spec_identifier = identifier_parts[1];
var creator;
if(typeof(val['admin_creator']) != 'undefined'){
creator = val['admin_creator']['name'];
}
else{
creator = '|REPLACE WITH YOUR DESIRED PAGE NAME|';
}
var post_html = '<div class="col-sm-4">'+
'<div class="single-blog">'+
'<img class="fbpostimage" id="post_image_'+ spec_identifier +'" src="images/logo.png" alt="" />'+
'<h2>'+ creator +'</h2>'+
'<ul class="post-meta">'+
'<li><i class="fa fa-clock-o"></i><strong>Published on:</strong> '+ getDateString(val['created_time']) +'</li>'+
'</ul>'+
'<div class="blog-content">'+
'<p>'+ val['message'] +'</p>'+
'</div>'+
'<a href="" class="btn btn-primary" data-toggle="modal" data-target="#blog-detail_'+ spec_identifier +'">Comments</a>'+
'</div>'+
'<div class="modal fade" id="blog-detail_'+ spec_identifier +'" tabindex="-1" role="dialog" aria-hidden="true">'+
'<div class="modal-dialog">'+
'<div class="modal-content">'+
'<div class="modal-body">'+
'<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>'+
'<iframe src="https://www.facebook.com/plugins/post.php?href=https%3A%2F%2Fwww.facebook.com%2F|REPLACE WITH PAGE ID|%2Fposts%2F'+ spec_identifier +
'&width=500" width="500" height="498" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true"></iframe>'+
'</div> '+
'</div>'+
'</div>'+
'</div>'+
'</div>';
$('#|REPLACE WITH THE ID OF THE DIV WHERE POSTS MUST APPEAR|').append(post_html);
console.log(identifier);
FB.api('/' + identifier + '/attachments?access_token=|REPLACE WITH FACEBOOK ACCESS TOKEN|', function(subresponse){
if(subresponse.data.length > 0){
if(typeof(subresponse.data[0]['media']) != 'undefined'){
if(typeof(subresponse.data[0]['media']['image']) != 'undefined'){
$('#post_image_' + spec_identifier).attr('src', subresponse.data[0]['media']['image']['src']);
}
}
}
});
}
});
});
function getDateString(date){
var monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sept", "Oct", "Nov", "Dec"
];
var date = new Date(date);
var hours = date.getHours();
var minutes = date.getMinutes();
var ampm = date.getHours() >= 12 ? 'PM' : 'AM';
hours = hours % 12;
hours = hours ? hours : 12; // the hour '0' should be '12'
minutes = minutes < 10 ? '0' + minutes : minutes;
var strTime = hours + ':' + minutes + ' ' + ampm;
return monthNames[date.getMonth()] + " " + date.getDate() + " " + date.getFullYear() + " " + strTime;
}
}
window.fbAsyncInit = function() {
FB.init({
appId : '|REPLACE WITH FACEBOOK APP ID|',
autoLogAppEvents : true,
xfbml : true,
version : 'v2.10'
});
FB.AppEvents.logPageView();
FB.Event.subscribe('xfbml.render', get_facebook_posts);
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/es_LA/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
您必须替换 || 之间的每个文本 与实际的应用程序和页面数据。
希望能帮助到你