Подтвердить что ты не робот

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

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

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

В настоящее время я сделал все, что написал в документах, и все, что я могу сделать, это комментарий статьи через веб-сайт, но я не могу найти способ показать/получить доступ к этой дискуссии из facebook. Даже после добавления комментариев в моей учетной записи нет активности. Все отображается только на веб-сайте.

4b9b3361

Ответ 1

Он называется "Зеркалирование комментариев", и afaik он недоступен публично прямо сейчас. Вы можете выбрать, чтобы получать обновления об этом на этой странице: https://developers.facebook.com/products/social-plugins/comments

Ответ 2

Недавно я сделал это на своем веб-сайте, хотя комментарии, размещенные на странице 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 и данными страницы.

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