XE 공식 자료실

제작자
Michael
등록일
2015-07-01
다운로드 수
229
링크1
mson0129/XEModuleYouTube
링크2
mson0129/XEModuleYouTube

유튜브 채널 또는 재생목록에 있는 동영상 목록을 게시판 형태로 보여주는 모듈입니다.
*XE 문서로 변환 및 가져오는(Importing) 개념이 아닙니다.

PHP 5 이상, Curl 라이브러리가 사용가능한 환경에서 작동합니다.
Cafe24 호스팅, XE Core 1.8.1 및 XE 체험 서버, XE Core 1.8.3에서 테스트 되었습니다.

라이선스
New BSD License
설치경로
./modules/youtube
최초 등록일
2015-06-08
전체 다운로드
7,710
체험하기

쉬운설치로 바로 체험할 수 있습니다

상세 설명

유튜브 모듈

유튜브 채널 또는 플레이리스트에 있는 동영상 목록을 가져오는 모듈입니다.

스킨을 만드시려는 경우 0.4.0. 버전에 포함된 "개발자 스킨"을 참조하세요.

변경내역

V 1.0.0.

카테고리 기능이 추가된 새로운 버전이 심사중에 있습니다.

V 0.4.1.

오류 수정이 있습니다.

오류 수정 - 설정 값 적용 안되는 문제

페이지 수, 상단 내용, 하단 내용 설정 값이 반영되지 않던 문제를 해결하였습니다.

V 0.4.0.

새로운 기능, 성능 개선 및 오류 수정이 있습니다.

새로운 기능 - 모바일 스킨 및 개발자 스킨

모바일 스킨을 제공합니다. NAVER 웹툰 모바일 페이지와 유사하게 디자인하여, 모바일 환경에서도 불편함 없이 이용할 수 있습니다.

개발자 스킨을 제공합니다. 그간 스킨을 제작 및 변형하고 싶었으나, 많은 사람들이 유튜브 모듈이 제공하는 변수와 그 값이 어떠한 내용인지 파악하기 어려웠습니다. 개발자 스킨을 통해 변수 목록과 그 실제 값을 일목요연하게 확인함으로써 보다 쉽게 스킨을 제작할 수 있도록 도움을 줄 것입니다.

새로운 기능 - 설정 메뉴 변경

기존 설정 메뉴가 새롭게 변경되었습니다. 설정값을 3개의 구분 — 필수, 보기, 성능 — 으로 표시합니다.
또한 사용자들이 쉽게 도움을 얻을 수 있도록 설정 화면에 모듈 정보, 포럼 링크를 추가하였습니다. 

그동안 지원하지 않던 고급 설정 메뉴를 지원합니다.
이를 통해 유튜브 메뉴(모듈 인스턴스)만 모아서 한 눈에 관리를 할 수 있습니다.
[관리자 화면 > 설치된 모듈 > 유튜브]로 가시면, 유튜브 모듈을 이용하는 메뉴를 한꺼번에 확인하고 설정을 변경할 수 있습니다.

성능 개선 - 캐시 기능 모든 환경에서 사용

이제 MSSQL을 포함한 모든 환경에서 캐시 기능을 오류 없이 사용할 수 있습니다.
기존 저수준에서 SQL 쿼리를 직접 다루던 부분을 XE XML Query로 대체하였습니다.

성능 개선 - 캐시 오류 보정 

캐시 데이터에 오류가 감지되었을 때, 캐시 유효기간이 남아 있더라도 유튜브 서버에서 새로운 데이터를 가져와서 덮어 씌웁니다.

오류 수정 - 스킨

다른 스킨을 지정해도, 스킨 설정을 무시하고 무조건 기본 스킨만 사용하는 문제를 해결하였습니다.

V 0.3.0.

새로운 기능 및 버그 수정이 있습니다.

주의!
MSSQL 사용자는 업데이트하지 마시고 기존 버전을 계속하여 사용하시길 권장합니다.
이 버전부터는 캐시 기능의 지원으로 Cubrid 또는 MySQL 호환 DB만 지원하며 MSSQL 환경에서의 사용이 불가합니다.
(MSSQL에서의 "ON DUPLICATE KEY UPDATE" 쿼리 사용 불가)

주의!
0.3.0. 업데이트 후에는 반드시 대시보드 화면(admin모듈 첫 화면)으로 이동하여 테이블 생성을 하여야 합니다.
테이블 생성 과정을 거치지 않으면 캐시 기능을 사용할 수 없으며 오류가 발생할 수 있습니다.

새로운 기능 - 캐시 지원

캐시를 통하여 응답 속도를 더 빠르게 높였습니다. 설정에서 캐시 보관 시간을 분 단위로 지정하면, 캐시가 유효한 기간 동안 유튜브 서버가 아닌 캐시에서 데이터를 가져옵니다.

목록 에러 수정

20개씩 출력할 때, 3페이지에서 10개만 출력하던 문제를 수정하였습니다.

오타 수정

Don"t라고 표시하는 문제를 Don't로 정정하였습니다.

V 0.2.1.

새로운 기능 및 버그 수정이 있습니다.

새로운 기능 - 역순 정렬

재생목록을 역순 정렬하여 볼 수 있습니다. 설정에서 역순 정렬에 체크하기만 하면, 역순으로 목록을 볼 수 있습니다.

새로운 기능 - 오류 메시지

이제 오류 메시지를 출력합니다. 설정이 잘못되어 제대로 표시되지 않는 경우, 어떤 설정 값(API 키, 재생목록 값 등)이 잘못된 것인지 원인을 쉽게 파악할 수 있습니다.

목록 에러 수정

마지막 페이지의 동영상이 페이지 당 목록 수 미만인 경우 (예를 들어 페이지당 10개 씩 출력하도록 되어 있으나 마지막 페이지의 동영상이 8개만 있는 경우), NULL 값을 출력하는 문제가 있어서 이를 수정하였습니다.

오타 수정

유튜브를 유투브라고 표시하거나, 재생목록을 플레이리스트, It's를 It"s로 표시하는 등의 오타를 수정하였습니다.

페이지 네비게이션 수정

재생목록에서 비공개 또는 미등록 동영상이 있을 경우 페이지 네비게이션이 제대로 표현되지 않던 문제를 수정하였습니다.

스킨 - XEIcon 오류 수정

XEIcon을 별도로 인클루드하지 않아서, 레이아웃을 XEDITION이 아닌 것으로 바꿀 경우 SNS 버튼이 제대로 보여지지 않는 문제가 있었습니다. 이제 스킨 자체에서 XEIcon을 인클루드합니다.

V 0.1.2.

버그 수정 및 성능 개선이 있습니다.

성능 개선

Google 서버에 보내는 요청 횟수를 줄여서 성능 개선을 하였습니다.
이전 버전에 비해 요청량이 50~80% 정도 감소하여, API 비용을 줄이고 전보다 빠르게 화면을 표시합니다.

페이지 네비게이션 수정

목록 하단의 페이지 네비게이션에서 [마지막 페이지]를 누르면 메인 화면으로 이동하는 문제를 수정하였습니다.

V 0.1.1.

각종 버그가 수정되었습니다.

페이지 네비게이션 수정

페이지 네비게이션이 제대로 표시되지 않던 문제를 수정하였습니다.
현재 보고 있는 페이지를 기준으로 9개 씩 네비개이션 항목이 표시됩니다.

자동 페이지 찾기

동영상 보기에서 현재 페이지가 인수로 지정되지 않은 경우, 동영상이 있는 페이지를 자동으로 찾습니다.

목록 수

목록 보기에서 화면 당 출력하는 동영상의 개수를 지정할 수 없었던 문제를 수정하였습니다.

사용방법

  1. 구글 개발자 콘솔(http://code.google.com/apis/console)을 접속합니다.
  2. [API 및 인증 > 사용자 인증 정보]로 이동합니다.
  3. [공개 API 액세스]의 [새 키 만들기]버튼을 클릭하고, 아래 화면이 나오면 좌측 끝의 [서버 키]를 클릭합니다.
  4. [API 및 인증 > API]에서 "YouTube Data API v3"를 검색합니다.
  5. 상단에 있는 [API 사용 설정] 버튼을 클릭합니다.
  6. [XE Admin에서 메뉴 추가 > 유튜브]로 추가합니다.
  7. 방금 추가한 메뉴를 선택한 후 상세 설정으로 들어가 1에서 발급받은 API 키(필수)와 채널 이름 또는 재생목록 아이디를 입력합니다.

문제 해결

사용에 어려움을 겪고 있는 경우 다음 절차를 따라해 보시면 정확한 문제 확인이 가능합니다.

  1. 채널 아이디 또는 재생목록 아이디가 잘못된 경우

    유튜브 모듈은 채널/재생목록 아이디가 비어있어도 정상 작동합니다. 만약 현재 채널 아이디 또는 재생목록 아이디가 입력되어 있는 상태라면 해당란을 빈 칸으로 놓고 사용해보시길 바랍니다. 만약 기본 값인 #YouTube인기동영상한국 채널이 제대로 나온다면 채널 또는 재생목록 아이디가 잘못 경우입니다. 채널/재생목록 아이디는 대소문자를 구분하므로 주의해서 입력해주셔야 합니다.
    1. 채널 아이디를 입력하는 경우

      채널 화면으로 이동한 후 주소 끝에 있는 아이디를 붙여 넣기 합니다. 세 가지 방법 모두 가능합니다.


    2. 재생목록 아이디를 입력하는 경우

      재생목록 상세 화면으로 이동한 후에 "list=" 다음에 있는 재생목록 아이디를 붙여 넣기 합니다. 아래 방법 한 가지만 가능합니다.
  2. 서버 시스템 환경에 문제가 있는 경우

    유튜브 모듈은 XpressEngine 데모 서버에서도 정상 작동합니다. xpressengine.com으로 가셔서 XE 체험하기 버튼을 눌러 데모 서버 생성 및 유튜브 모듈을 쉬운설치 하시고 본인의 API 키를 입력해 보시길 바랍니다. 정상적으로 작동한다면 서버 시스템에서 구글과의 통신에 필요한 CURL 라이브러리 사용이 제한되는 경우나 PHP 버전이 5 이하인 경우 또는 방화벽 등으로 인해 구글 서버와의 통신이 제한되는 경우이므로 확인 부탁드립니다.
  3. 구글 개발자 콘솔 설정에 문제가 있는 경우

    위의 방법이 모두 되지 않는다면 구글 개발자 콘솔에 문제가 있는 경우입니다. 이 경우 구글 개발자 콘솔로 이동하셔서 확인이 필요합니다.
    1. API 키가 잘못된 경우

      API 키가 잘못 입력된 경우입니다. 먼저 API 키 입력 시 앞 또는 뒤 등에 공백이 삽입되어 있거나, 잘못된 문자가 추가로 입력되었을 수 있습니다. 이 경우 구글 개발자 콘솔에 있는 값을 정확히 복사, 붙여넣기 하시면 되겠습니다. 그리고 다른 키를 입력한 경우도 있을 수 있습니다. 반드시 위의 안내대로 "공개 API 액세스 > 서버 키"를 발급하셔야 제대로 작동이 됩니다.
    2. YouTube Data API v3를 사용설정하지 않은 경우

      YouTube Data API 사용 설정이 되어 있지 않거나, YouTube Data API v3가 아닌 YouTube Analytics API로 사용설정이 되어 있는 것은 아닌지 확인해보시기 바랍니다. "구글 개발자 콘솔 > API 및 인증 > API" 화면에서 "사용 설정된 API" 탭을 통해 간편하게 확인이 가능합니다.
    3. 사용량이 초과된 경우

      무료 사용자의 경우 API 사용량에 제한이 있습니다. "구글 개발자 콘솔 > API 및 인증 > API" 화면에서 "사용 설정된 API" 탭을 누르시면 %로 표시되는 할당량을 통해서 자신의 API 사용량을 확인할 수 있습니다.

질문, 의견 또는 버그

사용 중 질문 또는 의견이 있으시거나 버그를 발견하시면 XpressEngine 공식 홈페이지 포럼란(https://www.xpressengine.com/?mid=download&package_id=22753675#forum-list)에 남겨주세요. 적극 반영하겠습니다. 감사합니다.

RSS

RSS의 경우 유튜브에서 직접 제공하고 있기 때문에, 본 모듈을 통한 기능 제공을 고려치 않고 있습니다.
만약 RSS가 필요한 경우 다음의 방법을 이용하여 사용하시길 권장드립니다.

채널

https://www.youtube.com/feeds/videos.xml?user=채널이름
(예: https://www.youtube.com/feeds/videos.xml?user=SBSNOW1)

https://www.youtube.com/feeds/videos.xml?channel_id=채널아이디
(예: https://www.youtube.com/feeds/videos.xml?channel_id=UCcOYEm78CpaZQvPE6LtoSeA)

재생목록

https://www.youtube.com/feeds/videos.xml?playlist_id=재생목록아이디
(예: https://www.youtube.com/feeds/videos.xml?playlist_id=PLPik6UL1gQ6eRnWYh5VfG0FVT6E8xZmRS)

비공개 및 미등록 동영상

비공개 및 미등록 동영상은 목록에 노출되지 않습니다. 비공개, 미등록 동영상의 출력을 위해서는 기술적으로 유튜브 서버에 OAuth2.0을 통한 사용자 인증이 필요합니다. 이를 위해서는 좀더 저수준에서의 작업이 필요하기 때문에 이에 대한 지원을 고려치 않고 있습니다.

사용자 인증을 거치더라도 사용자 본인이 아닌 경우를 제외하고 비공개로 올린 동영상을 볼 수 있는 방법은 없습니다.
예를 들어 사용자A가 비공개로 올린 동영상을 본 모듈에서 사용자A인 것으로 대리하여 조회하는 행위 등은 OAuth2.0 기술하에서는 원천적으로 불가합니다. (유튜브에서는 비공개지만, 본 모듈을 통해서 공개적으로 볼 수 있게 하는 경우 등등)

목록에 나타내고 싶으시다면, 재생목록 및 동영상을 공개로 설정하시기 바랍니다.

포럼 4

로그인 후 작성할 수 있습니다.
  • 2015-07-07 08:57:35 제작자 Michael

    @r35님
    PHP에서 CURL 라이브러리가 사용이 가능해야 합니다. 사용 가능 여부는 PHP파일에 function_exist('curl_init'); 코드로 확인하실 수 있습니다. 만약 설치되어 있지 않은 경우에는 라이브러리 설치 페이지(http://php.net/manual/kr/curl.setup.php)를 참고하여 설정하실 수 있습니다. 해당 환경을 운영하지 않아서 정확한 판단은 어려우나 Nginx 등의 플랫폼(OS 등) 종속적인 부분은 아닌 것으로 알고 있으니, 문제 해결에 도움이 되셨으면 합니다.

  • 2015-07-07 08:51:23 제작자 Michael

    @비밀얌님
    이미지 클릭하면, 검은 바탕에 이미지 레이어만 단독으로 뜨는 형태를 말씀하시는 것 같네요. 추가할 수 있도록 노력하겠습니다. 의견 주신 대로 인스타그램 모듈도 연구해보도록 하겠습니다.

  • 2015-07-07 08:49:19 제작자 Michael

    @하늘아래(^^)님
    1.1.0. 버전에서 가능하도록 조정하겠습니다! 의견 감사합니다.

  • 2015-07-05 10:25:29 제작자 Michael

    여러개의 채널/재생목록 아이디를 사용할 수 있는, 카테고리 기능이 추가된 새로운 버전이 심사중에 있습니다.