我正在我的Android应用程序中集成youtube。我正在使用gdata youtube库。
`
YouTubeManager ym = new YouTubeManager(clientID);
List<YoutubeVideo> videos;
try {
videos = ym.retrieveVideos(textQuery, maxResults, filter, timeout);
for (YoutubeVideo youtubeVideo : videos) {
System.out.println(youtubeVideo.getWebPlayerUrl());
System.out.println("Thumbnails");
for (String thumbnail : youtubeVideo.getThumbnails()) {
System.out.println("\t" + thumbnail);
}
System.out.println(youtubeVideo.getEmbeddedWebPlayerUrl());
System.out.println("************************************");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} `
我已经进口jar了, 的activation.jar Apache的mime4j-0.6.jar GDATA核-1.0.jar GDATA媒体-1.0.jar GDATA-的YouTube-2.0.jar 谷歌-收集-1.0-rc2.jar httpmime-4.0.3.jar 的mail.jar 的servlet.jar
现在我在
处收到异常SAXNotRecognizedExceptionvideos = ym.retrieveVideos(textQuery,maxResults,filter,timeout);
任何人都可以告诉我这里发生了什么错误。如何解决这个错误?或者任何其他方式将youtube集成到Android应用程序中。
答案 0 :(得分:1)
根本原因报告为问题9493.
可以在这里找到解决方法:
gdata-core中的SecureGenericXMLFactory故意禁用某些功能,但需要其中一些才能从YouTube检索数据。这项工作的基本思路如下:http://darutk-oboegaki.blogspot.com/2011/11/solution-for-gdata-java-clients.html
(1)从gdata-core-1.0.jar中删除原始的SecureGenericXMLFactory
cd gdata-src.java-1.46.0/gdata/java/lib
mkdir gdata-core-1.0-no-SecureGenericXMLFactory
cd gdata-core-1.0-no-SecureGenericXMLFactory
jar xf ../gdata-core-1.0.jar
rm -rf com/google/gdata/util/common/xml/parsing
jar cfm ../gdata-core-1.0-no-SecureGenericXMLFactory.jar META-INF/MANIFEST.MF com
(2)用原始步骤(1)创建的新gdata-core-1.0.jar替换原来的gdata-core-1.0.jar。 (在Eclipse中)
(3)将SecureGenericXMLFactory的原始源代码复制到您的Android项目中。
(4)在禁用必要功能的代码行之前,在SecureSAXParserFactory的构造函数中添加一个无条件的'return'。
// "if (true)" was added to avoid a compilation error in Eclipse.
if (true)
{
return;
}