Комментарии Facebook – Синхронизация между сайтом и страницей поклонников

Каков наилучший способ синхронизировать комментарии в facebook между статьями веб-сайта и страницей поклонников. Я бы хотел достичь:

  • публиковать статьи на сайте с комментариями fb как систему комментариев
  • пользователи могут прокомментировать эту статью через веб-сайт
  • пользователи могут прокомментировать эту статью через страницу поклонника facebook (например, после публикации ссылки на эту статью)
  • комментарии между веб-сайтом и fb синхронизируются

В настоящее время я сделал все, что написано в документах, и все, что я могу сделать, это комментарий статьи через веб-сайт, но я не могу найти способ показать / получить доступ к этой дискуссии из 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">&times;</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> 

    Вы должны заменить каждый текст между || с фактическими APP и данными страницы.

    Надеюсь, поможет