Я обнаружил, что эти строки:
var feedURL = item.link[1].href;
var fragments = feedURL.split("/");
var videoID = fragments[fragments.length - 2];
ожидает, что item.link [1] .href будет в следующем формате:
http://gdata.youtube.com/feeds/api/videos/NAs5it-xjnQ/responses?v=2
Однако, это не обязательно работает, так как иногда item.link [1] дает URL-адрес, такой как
http://www.youtube.com/watch?v=Vcp7xz6dfWE&feature=youtube_gdata
Фрагменты [fragments.length - 2] в конечном итоге станут "www.youtube.com" вместо идентификатора видео.
Я изменил его, чтобы получить ссылку из item.content.src, который всегда имеет фиксированный формат в URL, например
http://www.youtube.com/v/NAs5it-xjnQ?version=3&f=playlists&app=youtube_gdata
Итак, последний фрагмент кода выглядит примерно так:
var tmp = item.content.src.split("/").reverse()[0];
var videoID = tmp.substring(0, tmp.indexOf("?"));
, который до сих пор меня не подводил.
Надеюсь, это поможет тем, кто застрял или имеет проблемы с получением идентификатора видео.
Привет
CK