YouTube 동영상을 FeedAPI로 불러들일 때 Thumbnail 이미지를 설정하는 (새로운) 방법

YouTube 동영상을 FeedAPI로 불러들일 때 Thumbnail 이미지를 설정하는 방법은,
이미 본 사이트의 다른 노드에서도 기록했으나, 모듈의 버전업에 따라 새롭게 주의할 점이 나타났다. 그래서 메모해 둔다.

사용 모듈 - emfield, media_youtube

1. 미디어 유튜브 모듈은 드루팔용 젠더도 필요로 한다.
자세한 내용은, 예전에 써 둔 댓글에서 인용한다.

최근에 업데이트된 emfield 에서는 각각의 3rd Party 동영상 설정을 직접 하지 않게 됐습니다.

예를 들어 유튜브 동영상을 입수하려면, http://drupal.org/project/media_youtube 같은 모듈을 별도로 설치/활성화해야 합니다.

이때 젠드 모듈도 필요로 하는 것 같아 메모해 둡니다.

1. http://framework.zend.com/download/gdata
에서 최신판 젠드 모듈을 다운로드 합니다.

2. 드루팔 sites/all/libraries 폴더에 1의 압축 해제 폴더 중 library/Zend를 업로드 합니다. 결과적으로 sites/all/libraries/Zend 폴더로 업로드 됩니다.

이렇게 하면 emfield의 업그레이드 후 관리자 설정화면에서 나오는 젠드 관련 경고가 사라집니다.

젠더 모듈 설치 이후에 아래와 같은 에러가 나타난다면,
Fatal error: Class 'Zend_Uri_Http' not found drupal

http://drupal.org/node/895270#comment-3754912 를 보고 해결하면 된다.

--- /home/eric/media_youtube/media_youtube.module       2010-11-12 15:58:57.000000000 +0000
+++ media_youtube.module        2010-11-25 23:17:15.000000000 +0000
@@ -383,6 +383,7 @@
       if (media_youtube_zend_path()) {
         Zend_Loader::loadClass('Zend_Gdata_YouTube');
         Zend_Loader::loadClass('Zend_Gdata_App_HttpException', $path);
+        Zend_Loader::loadClass('Zend_Uri_Http', $path);
         $yt = new Zend_Gdata_YouTube();
         try {
           $videoEntry = $yt->getVideoEntry($video_id);

* Zend_Loader::loadClass('Zend_Uri_Http', $path); 한 줄을 추가한 것이다. 좋은 해결책은 아닌 듯 하지만 급한대로...
* 주의) 드루팔의 준코어 모듈을 건드리는 것이므로, all/modules가 아닌 해당 사이트의 modules에 설정하는 것이 좋겠다.

2. FeedAPI도 잘 설정하고, 해당 피이드 노드(Parent)로부터 유튜브 피이드 아이템들(Child)이 잘 생성되는 데도 불구하고, 썸네일이 Views에 나타나지 않는다면...

feedapi mapping 을 이용하여 피이드 노드(Parent)에 아래와 같이 맵핑을 건다.

options->original_url 를 Map to YouTube Content Type 에 맵핑 설정한다.

주의) Map to YouTube Content Type 은 유튜브 피이드 아이템들(Child)를 의미한다!

* 참고) 위 2번 팁은 뷰를 동원해서 필드조작을 하는 경우가 아니라면 불필요하다.
최근 들어 ytimg.com을 이용해서 유튜브 썸네일 처리가 되는 것이 기본인 듯 하다.