использование плагина rome media rss

кто-нибудь может объяснить, как использовать плагин rome media-rss, найденный здесь?

Я пробовал пример использования и все остальное, что мог найти в Google (чего не так много), но не смог заставить его работать. В частности, getModule(MediaModule.URI), который должен возвращать MediaModule, возвращает null в канале media-rss. getModules() (обратите внимание на множественное число) в этом канале возвращает только один модуль, который является DCModule (что, черт возьми, такое DCModule?)

Возможно, мне нужно что-то сделать, чтобы настроить rome или что-то, чтобы использовать плагин..?

И, кстати, фид взят из апи ютуба.


person akula1001    schedule 28.12.2009    source источник
comment
DCModule возвращает метаданные Dublin Core — см. dublincore.org.   -  person Mark Butler    schedule 11.03.2013


Ответы (1)


На самом деле единственная конфигурация, которая работала для меня, — это использование последней версии Rome (rome-1.0.jar) с последней версией jdom (jdom.jar версии 1.1.1) и получение последней версии mediarss-0.2.2.jar. что его нет в репозитории Рима, если он не появился в виде вложения из этого тема форума.

Когда у вас есть все эти элементы, просто убедитесь, что ваш вызов API YouTube возвращает RSS-канал, потому что со стандартным каналом Atom он вообще не работает, и попробуйте следующий код:

    URL url = new URL(urlAddress);
   SyndFeedInput input = new SyndFeedInput();
   SyndFeed feed = input.build (new XmlReader(url));
   for (Iterator<SyndEntry> i = feed.getEntries().iterator(); i
     .hasNext();) {
    SyndEntry entry = (SyndEntry)i.next();
    System.out.println(entry.getTitle());
    MediaEntryModule m = (MediaEntryModule)entry.getModule(MediaEntryModule.URI);
             System.out.println(m);    
   }

Вызов API YouTube выглядит следующим образом:

...gdata.youtube.com/feeds/api/videos?q=U2&alt=rss&v=2

и результаты (частично) получены следующие:

Шоу U2 Super Bowl в перерыве между таймами 2002 — 11 сентября MediaEntryModuleImpl.player=null MediaEntryModuleImpl.mediaGroups[0].defaultContentIndex=null MediaEntryModuleImpl.mediaGroups[0].contents[0].expression=full MediaEntryModuleImpl.mediaGroups[0].contents[ 0].player=null MediaEntryModuleImpl.mediaGroups[0].contents[0].width=null MediaEntryModuleImpl.mediaGroups[0].contents[0].samplingrate=null MediaEntryModuleImpl.mediaGroups[0].contents[0].type= приложение/x-shockwave-flash . .

Я надеюсь, это поможет вам.

person Gerardo    schedule 13.02.2010