JSON - получите более 25 видео из плейлиста YouTube - PullRequest
2 голосов
/ 01 марта 2012

У меня есть html-страница, которая в настоящее время отображает видео плейлиста, но возвращает только первые 25 видео:

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>   
<script type="text/javascript" src="scripts/jquery.youtubepopup.js"></script> 
<script type='text/javascript'>//<![CDATA[
    $(window).load(function () {
        var playListURL = 'http://gdata.youtube.com/feeds/api/playlists/A6A0F817C1771FE5?v=2&alt=json&callback=?';
        var videoURL = 'http://www.youtube.com/watch?v=';
        $.getJSON(playListURL, function (data) {
            var list_data = "";
            var column_count = -1;
            var begin_table = "<table width='100%'><tr>";
            var end_table = "</table>";
            var html_data = "";
            $.each(data.feed.entry, function (i, item) {
                column_count = column_count + 1;
                var feedTitle = item.title.$t;
                var feedURL = item.link[1].href;
                var fragments = feedURL.split("/");
                var videoID = fragments[fragments.length - 2];
                var url = videoURL + videoID;
                var thumb = "http://img.youtube.com/vi/" + videoID + "/default.jpg";

                if(column_count <= 3)
                    html_data += '<td><a class="youtube" href="#" rel="' + videoID + '" title="' + feedTitle + '"><img alt="' + feedTitle + '" src="' + thumb + '"></a></td>';
                else
                {
                    column_count = 0;
                    html_data += "</tr><tr>";
                    html_data += '<td><a class="youtube" href="#" rel="' + videoID + '" title="' + feedTitle + '"><img alt="' + feedTitle + '" src="' + thumb + '"></a></td>';
                }
            });
            html_data = begin_table + html_data + end_table;
            $(html_data).appendTo(".vidz");
            $("a.youtube").YouTubePopup({ autoplay: 1 });
        });
    });//]]>
</script>

Кто-нибудь знает, как получить остальные видео?В этом плейлисте 27 (я верю).У меня нет большого опыта работы с json, так что я вроде как застрял.

Спасибо за любую помощь!

1 Ответ

5 голосов
/ 01 марта 2012

Вам необходимо определить максимальные результаты в вашем запросе, по умолчанию возвращается только 25.

http://code.google.com/apis/youtube/2.0/reference.html#max-resultssp

Следующий фрагмент возвращает 28 результатов:

<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>   
<script type='text/javascript'>//<![CDATA[
    $(window).load(function () {
        var playListURL = 'http://gdata.youtube.com/feeds/api/playlists/A6A0F817C1771FE5?v=2&alt=json&max-results=50';
        var videoURL = 'http://www.youtube.com/watch?v=';
        $.getJSON(playListURL, function (data) {
            var list_data = "";
            var column_count = -1;
            var begin_table = "<table width='100%'><tr>";
            var end_table = "</table>";
            var html_data = "";
            $.each(data.feed.entry, function (i, item) {
                column_count = column_count + 1;
                var feedTitle = item.title.$t;
                var feedURL = item.link[1].href;
                var fragments = feedURL.split("/");
                var videoID = fragments[fragments.length - 2];
                var url = videoURL + videoID;
                var thumb = "http://img.youtube.com/vi/" + videoID + "/default.jpg";

                if(column_count <= 3)
                    html_data += '<td><a class="youtube" href="#" rel="' + videoID + '" title="' + feedTitle + '"><img alt="' + feedTitle + '" src="' + thumb + '"></a></td>';
                else
                {
                    column_count = 0;
                    html_data += "</tr><tr>";
                    html_data += '<td><a class="youtube" href="#" rel="' + videoID + '" title="' + feedTitle + '"><img alt="' + feedTitle + '" src="' + thumb + '"></a></td>';
                }
            });
            html_data = begin_table + html_data + end_table;
            $(html_data).appendTo(".vidz");
            });
    });//]]>
</script>
</head>
<body>
<div class="vidz"></div>
</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...