2016-09-27 5 views
1

페이스 북 그룹의 타임 라인/포스트를 가져 오기 위해 페이스 북 위젯을 통합하고 싶습니다. &에이이 검색되었지만 사용자의 & 페이지의 타임 라인을 제공합니다. 나는 그룹의 타임 라인을 원했다. Fb 개발자 포털 &에 대한 완벽한 대답을 찾지 못했습니다. 웹에서 아무것도 얻지 못했습니다.페이스 북 그룹의 타임 라인/포스트를 가져 오는 위젯

이 문제에 대한 도움을 주시면 감사하겠습니다. 미리 감사드립니다.

답변

0

많은 검색을 한 후에이 플러그인을 사용하지 않았습니다. 하지만 예 개발자가 수동으로 위젯을 만든 php에서 블로그 한 개를 얻었습니다. 자바 스크립트 & jQuery로 수정했습니다. & ValidURLformatDate 일부 화장품 작업에 사용 도우미 기능 여기에 follows-

<script> 
    var access_token = '<!-- Valid fb access token -->'; 
    var groupId = 'valid facebook group id'; 
    window.fbAsyncInit = function() { 
     FB.init({ 
      appId: 'valid facebook app id', 
      cookie: true, 
      xfbml: true, 
      version: 'v2.8' 
     }); 
     FB.api("" + groupId + "?fields=cover,icon,name,privacy", 
      'get', 
      { access_token: access_token }, 
      function (groupResponse) { 
       if (groupResponse && !groupResponse.error) { 
        $("#fix-div").html(''); 
        $("#facebook-group").html(''); 
        var fixDivHtml = 
         "<div style='z-index: 10;position: absolute;border: 1px solid #e9ebee;max-width: 470px;background: white;min-height: 50px;'><div class='media' style='border: 0'><div class='media-left media-middle' style='vertical-align: bottom'><a href='https://www.facebook.com/groups/" + groupResponse.id + "' target='_blank'><img class='media-object' src='/Content/Images/Facebook-group.png' style='min-height: 50px;padding: 5px 10px;width: 64px;'></a></div><div class='media-body media-middle'><a href='https://www.facebook.com/groups/" + groupResponse.id + "' target='_blank'><h4 class='media-heading' style='font-size: 14px;font-weight: bold;'>" + groupResponse.name + "</h4></a></div></div></div>"; 
        $("#fix-div").append(fixDivHtml); 
        FB.api("/" + 
         groupId + 
         "/feed?fields=id,message,link,attachments{media,description},created_time,from,object_id,parent_id&limit=1000", 
         'get', 
         { access_token: access_token }, 
         function (response) { 
          if (response && !response.error) { 
           for (var i = 0; i < response.data.length; i++) { 
            var picture = undefined; 
            var description = undefined; 
            var date = formatDate(response.data[i].created_time); 
            if (response.data[i].attachments !== undefined) { 
             if (response.data[i].attachments.data.length > 0) { 
              if (
               response.data[i].attachments.data[0].media !== 
                undefined) { 
               if (
                response.data[i].attachments.data[0].media 
                 .image !== 
                 undefined) 
                picture = response.data[i].attachments 
                 .data[0].media.image.src; 
               if (
                response.data[i].attachments.data[0].media 
                 .image.description !== 
                 undefined) 
                description = response.data[i].attachments 
                 .data[0].media.image.description; 
              } else { 
               if (
                response.data[i].attachments.data[0] 
                 .description !== 
                 undefined) 
                description = response.data[i].attachments 
                 .data[0].description; 
              } 

             } 
            } 
            var message = response.data[i].message; 
            var 
             append = 
              "<div class='border'><div class='media'><div class='media-left media-middle'><a href='https://www.facebook.com/" + response.data[i].from.id + "' target='_blank'><img class='media-object' src='http://graph.facebook.com/" + response.data[i].from.id + "/picture?type=square'></a></div><div class='media-body' style='vertical-align: bottom'><a href='https://www.facebook.com/" + response.data[i].from.id + "' target='_blank'><h4 class='media-heading'>" + response.data[i].from.name + ".<br /><small>" + date + "</small></h4></a></div>"; 
            if (message !== undefined) { 
             if (ValidURL(message) === 1) { 
              append += 
               "<a class='ellipsis' href='" + 
               message + 
               "' target='_blank'>" + 
               message + 
               "</a>"; 
             } else { 
              append += "<a class='ellipsis'>" + message + "</a>"; 
             } 
            } 
            if (picture !== undefined) 
             append += 
              "<a href='" + 
              response.data[i].link + 
              "' target='_blank'><img class='img-responsive' src='" + 
              picture + 
              "'/></a>"; 
            if (description !== undefined) 
             append += "<p>" + description + "</p>"; 
            append += '<hr///>' + 
             "<div class='btn-group btn-group-justified' role='group' aria-label='Justified button group'>" + 
             "<a href=" + 
             response.data[i].link + 
             " class='btn btn-default' role='button' target='_blank'><i class='fa fa-thumbs-up' aria-hidden='true'></i>&nbsp;&nbsp;&nbsp;Like</a>" + 
             "<a href=" + 
             response.data[i].link + 
             " class='btn btn-default' role='button' target='_blank'><i class='fa fa-comment' aria-hidden='true'></i>&nbsp;&nbsp;&nbsp;Comment</a></div></div></div>"; 
            $("#facebook-group").append(append); 
           } 
          } 
         }); 
       } 
      }); 
    }; 

    (function() { 
     var e = document.createElement('script'); 
     e.async = true; 
     e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; 
     document.getElementById('fb-root').appendChild(e); 
    }()); 

    var formatDate = function (input) { 
     var d = new Date(Date.parse(input)); 
     input = d.toString(); 
     d = new Date(Date.parse(input.replace(/-/g, "/"))); 
     var month = [ 
      'january', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 
      'September', 'October', 'November', 'December' 
     ]; 
     var date = d.getDay().toString() + 
      " " + 
      month[d.getMonth().toString()] + 
      ", " + 
      d.getFullYear().toString(); 
     return (date); 
    }; 

    function ValidURL(str) { 
     if (
      /^(http|https|ftp):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/i.test(str)) 
      return 1; 
     else 
      return -1; 
    } 
</script> 

<div style="height: 375px; background: #f6f7f9;"> 
    <div id="fb-root"></div> 
      <p class="text-center media-body social-link" style="background: white"> 
      <img src="~/Content/Images/Link-Red.png" /> 
      <a href="<!--Widget.Link-->">Facebook Group</a> 
      </p> 
      <div id="fix-div"></div> 
      <div id="facebook-group" style="overflow-y: scroll; height: 375px; margin-top: 55px;"></div> 
</div> 

페이스 북 자바 스크립트 API.