Я хочу получить все комментарии (до 999) из видео с YouTube. Это URL, который я хочу, чтобы отправитьParseException при получении комментариев от Youtube video
http://gdata.youtube.com/feeds/api/videos/1EEFydL6ooA/comments?start-index=1&max-results=50
Когда я посылаю этот URL я получаю com.google.gdata.util.ParseException [Строка 1, столбец 279] Недопустимый корневой элемент, как ожидается (пространство имен URI:. местное название) (http://www.w3.org/2005/Atom:entry), найдено (http://www.w3.org/2005/Atom:feed
на самом деле, когда мой URL был «http://gdata.youtube.com/feeds/api/videos/1EEFydL6ooA», я получал 25 комментариев, если какой-либо Однако, так как это около одного видео, я не был в состоянии set max-results и start-index. Мой код:
String str = "http://gdata.youtube.com/feeds/api/videos/" + videoId
+ "/comments";
YouTubeQuery youtubeQuery = new YouTubeQuery(new URL(str));
youtubeQuery.setMaxResults(50);
youtubeQuery.setStartIndex(1);
String videoEntryUrl = youtubeQuery.getUrl().toString();
VideoEntry videoEntry = service.getEntry(new URL(videoEntryUrl),
VideoEntry.class);
if (videoEntry.getComments() != null) {
String commentUrl = videoEntry.getComments().getFeedLink()
.getHref();
System.out.println(commentUrl);
CommentFeed commentFeed = service.getFeed(new URL(commentUrl),
CommentFeed.class);
for (int i = 0; i < commentFeed.getEntries().size()
&& commentFeed.getEntries().get(i) != null; i++) {
String author=commentFeed.getEntries().get(i).getAuthors().get(0)
.getUri().substring(41)
String commentId=commentFeed.getEntries().get(i).getId().substring(47);
String comment=commentFeed.getEntries().get(i).getPlainTextContent();
Почему я получаю parseException? Возможно, потому, что этот код работает, соответственно, объект VideoEntry и разбор выполняется таким образом. Есть что-то вроде CommentEntry? Как можно инициализировать его, если таковые имеются?
Обратите внимание, что мое исключение не является «com.google.gdata.util.ParseException: [Строка 1, столбец 101152, элемент yt: состояние] Недопустимое значение для атрибута:« имя », которое связано с неправильной библиотекой.
Спасибо
BTW. Библиотека PHP использует: $ youTubeService> setMajorProtocolVersion (2); Использовать api версии 2. (Параметр «v = 2» в URL-адресе.) – Als
Это о комментариях, потому что я хочу, чтобы это было о «комментариях». Речь шла не о «комментариях», прежде чем я не добавил «/ comments "в этом URL. Я просто хочу создать объект CommentEntry с помощью этого URL-адреса, но я не могу это сделать. –
В вашем коде в строке 7: «service.getEntry (новый URL (videoEntryUrl), VideoEntry.class);». Здесь videoEntryUrl «http://gdata.youtube.com/feeds/api/videos/» + videoId + «/ comments»; Это источник комментариев. Поэтому использование VideoEntry.class неверно. – Als