Facebook 동영상 재생하기 > 팁 & 테크

본문 바로가기

팁 & 테크

Facebook 동영상 재생하기

  • - 첨부파일 : bbs.class.php.tgz (12.5K) - 다운로드

본문

Facebook 페이지에 공유된 동영상을 Embed하는 모듈의 오류를 수정하였습니다.

Facebook의 정책이 바뀌어서 발생한 호환성의 문제이기에 버그로 정의할 수는 없을 것 같네요. 개발자들이 제일 듣고 싶어 하지 않는 것이 버그라는 말이거든요. ㅋㅋㅋ Video URL이 과거와 사뭇 달라졌기 때문에, 정상적으로 작동되던 모듈이 작동되지 않는 것으로 보입니다. 달라진 정책은 Facebook에서 개발자들을 위하여 제공하는 다음 링크의 개발자 지침서를 살펴 보면 자세히 알 수 있습니다.

https://developers.facebook.com/docs/plugins/embedded-video-player/

 

다음과 같은 형식의 Video URL을 게시글 작성시 동영상 버튼을 이용하여 원하는 위치에 삽입하시기 바랍니다.

https://www.facebook.com/KBSAmericaNews/videos/635421183479658/UzpfSTk2MDI4MjUxNDA5NzU4NDoxNTIyMDU4OTk3OTE5OTMw/

 

이윰빌더 4.1.4 버전인데, 제가 올린 마지막 글을 기준으로 변경된 내용은 다음과 같습니다. Youtube, Vimeo 및 Facebook 동영상 관련하여 모두 패치된 첨부파일을 다운로드하셔서 eyoom/class/ 디렉토리에 복사해도 됩니다.

http://eyoom.net/bbs/board.php?bo_table=bug&wr_id=218

 

[Facebook 동영상 링크를 Embed하기 위한 수정]

private function video_from_soruce($src) {
        $url = $src[0];

            ~ 중략 ~

            case 'facebook.com':
                $video['protocol'] = $info['scheme'];
                $video['key1'] = $info['path'];
                break;

 

    private function video_source($video) {
        switch($video['host']) {
            case 'youtu.be':
            case 'youtube.com':
            ~ 중략 ~

            case 'facebook.com':
                $source = '<iframe src="//www.facebook.com/plugins/video.php?href='.urlencode($video['protocol']."://www.".$video['host'].$video['key1']).'&width='.$video['width'].'&show_text=false&height
='.$video['height'].'&appId" width="'.$video['width'].'" height="'.$video['height'].'" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true" allow="encrypted-media" allowFullScreen="true" frameborder="0"></iframe>';
                break;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

다음은 git diff 결과입니다.

# git diff
diff --git a/eyoom/class/bbs.class.php b/eyoom/class/bbs.class.php
index e625a0d..86ab8d8 100644
--- a/eyoom/class/bbs.class.php
+++ b/eyoom/class/bbs.class.php
@@ -516,12 +516,8 @@ class bbs extends eyoom
              * Facebook
              */
             case 'facebook.com':
-                if ($query['video_id']) {
-                    $video['key1'] = $query['video_id'];
-                } else {
-                    $video['key1'] = $query['v'];
-                }
-                if (!is_numeric($video['key1'])) $video = NULL;
+                $video['protocol'] = $info['scheme'];
+                $video['key1'] = $info['path'];
                 break;

             /**
@@ -765,7 +761,7 @@ class bbs extends eyoom
                 $source = '<iframe frameborder="0" width="'.$video['width'].'" height="'.$video['height'].'" src="//www.dailymotion.com/embed/video/'.$video['key1'].'"></iframe>';
                 break;
             case 'facebook.com':
-                $source = '<iframe src="//www.facebook.com/video/embed?video_id='.urlencode($video['key1']).'" width="'.$video['width'].'" height="'.$video['height'].'" frameborder="0"></iframe>';
+                $source = '<iframe src="//www.facebook.com/plugins/video.php?href='.urlencode($video['protocol']."://www.".$video['host'].$video['key1']).'&width='.$video['width'].'&show_text=false&height='.$video['height'].'&appId" width="'.$video['width'].'" height="'.$video['height'].'" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true" allow="encrypted-media" allowFullScreen="true" frameborder="0"></iframe>';
                 break;

 

[관련링크]

Youtube와 Vimeo 동영상을 Add-on으로 삽입하는 버그 수정

   http://eyoom.net/bbs/board.php?bo_table=bug&wr_id=215

Youtube와 Vimeo 동영상 재생 버그 수정 (2)

     http://eyoom.net/bbs/board.php?bo_table=bug&wr_id=218

 

1
로그인 후 추천 또는 비추천하실 수 있습니다.
추천한 회원 보기
포인트 210
경험치 989
[레벨 3] - 진행률 65%
가입일
2018-10-16 07:26:31
서명
미입력
자기소개
Web Application Programmer with PHP and ASP - CodeIgniter, Laravel, Joomla, WordPress - ASP/C# .NET, .NET Core

최신글이 없습니다.

최신글이 없습니다.

댓글목록2

studyhaza님의 댓글

닭발은세개님의 댓글

전체 7 건 - 1 페이지
번호
제목
글쓴이
사이트 내 전체검색