로그인

검색

유튜브(YouTube) 모듈

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

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

자료 분류 모듈 0 / 0
라이선스 New BSD License
제작자 Michael
홈페이지 https://github.com/mson0129/XEModuleYouTube
설치 경로 ./modules/youtube
최초 등록일 2015-11-04 00:00 전체 다운로드 0
최근 버전 1.1.1. 다운로드

해당 자료는 라이믹스2에서 동작여부가
확인되지 않았습니다.

라이믹스2 동작 인증하기

다운로드 0
최근 업데이트 2015-11-04 00:00 0 / 0

유튜브 모듈

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

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

개발 종료

XE1와 호환되는 본 모듈은 더 이상 개발되지 않습니다.

새로운 기능 등에 대한 의견 남겨주시면, 앞으로 개발할 XE3 버전에 반영할 수 있도록 하겠습니다.

감사합니다.

변경내역

V 1.1.1.

오류 수정이 있습니다.

오류 수정 - 카테고리 추가 문제(@1052님)

인터넷 익스플로러에서 카테고리를 추가할 경우, 카테고리가 추가되지 않고 true를 페이지에 표시하던 문제를 수정하였습니다.

V 1.1.0.

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

새로운 기능 - 메뉴 설정(@하늘아래(^^)님)

관리자 계정으로 로그인한 경우, 목록 상단에 설정 버튼이 나타납니다. 또한 메뉴 관리 메뉴에 권한 설정 부분도 추가되었습니다.

새로운 기능 - 팝업 레이어(@비밀얌님)

목록에서 썸네일을 클릭하면 팝업 레이어가 열리면서 간편하게 동영상을 볼 수 있습니다. (스크린샷 참조)

새로운 기능 - 모바일 스킨 분류 기능 지원

이제 모바일 스킨도 분류 기능을 지원합니다.

오류 수정 - 개발자 스킨

개발자 스킨 사용시, 변수와 레이아웃을 제대로 표현하지 못하는 문제를 해결하였습니다.

오류 수정 - 모바일 스킨(@우냠냠냠님)

일부 모바일 레이아웃을 사용할 경우, 스킨의 상단 및 좌측에 여백이 생기는 문제를 수정하였습니다.

V 1.0.0.

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

주의!
유튜브 위젯 v1.0.1.과 연동하여 사용중이신 분께서는 업데이트를 하시면 안됩니다.
유튜브 모듈 v1.0.0.과 유튜브 위젯 v1.0.1.은 호환되지 않습니다. 업데이트시 참고하시기 바랍니다.

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

 

새로운 기능 - 분류(@1052님, @우냠냠냠님, @ㅂ님)

분류 기능을 추가하였습니다. 모바일은 아직 지원하지 않습니다.

새로운 기능 - 행동 예측 로딩

사용자의 행동을 예측하여 유튜브 서버로부터 캐시를 미리 업데이트 합니다. 현재는 개발자 스킨에만 해당 기능이 적용되어 있습니다. 

성능 개선 - 캐시 기본 지원 및 완전히 새로운 구조

이제 캐시 기능을 기본으로 지원합니다. 별도 값을 지정하지 않을 경우, 캐시 데이터를 기본으로 사용합니다. 유효 기간은 10분입니다.

또한 모듈 구조를 완전히 재설계했습니다. 사용자 행동을 예측하여 데이터를 미리 가져오거나, 재생목록 내에서 검색을 하는 등의 기능 추가가 가능해졌습니다.

오류 수정 - 모바일 스킨에서의 설명의 글자 크기(@우냠냠냠님)

동영상 설명 부분에서 글자가 너무 크게 나오던 문제를 해결하였습니다.

V 0.4.1.

오류 수정이 있습니다.

오류 수정 - 설정 값 적용 안되는 문제(@빡빡2님)

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

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.

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

새로운 기능 - 역순 정렬(@1052님)

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

새로운 기능 - 오류 메시지

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

목록 에러 수정

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

오타 수정

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

페이지 네비게이션 수정

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

스킨 - XEIcon 오류 수정(@1052님)

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 기술하에서는 원천적으로 불가합니다. (유튜브에서는 비공개지만, 본 모듈을 통해서 공개적으로 볼 수 있게 하는 경우 등등)

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

이 자료는 XE 공식 자료실에서 자동으로 다운로드한 자료입니다.
라이믹스 최신버전에서는 동작하지 않을 수 있습니다.

원본 : [공식 자료실 게시글로 이동]