0

我想在我的 django 博客文章中集成 youtube 视频和照片。youtube 数据 API 和 youtube analyticis API 文档非常混乱。有人可以指出我正确的方向。我应该如何继续整合它。

4

2 回答 2

0

这里 video_id 是 id

youtube url https://www.youtube.com/watch?v=id <- video_id is this one.

对于缩略图图像,请使用此 url

http://img.youtube.com/vi/{{video_id}}/0.jpg 

0.jpg 始终是高清缩略图 .. 1.jpg, 2.jpg 3.jpg 用于缩略图 1,2,3

使用以下 JS 获取标题/描述/评论等信息。

   function getYouTubeInfo(video_id) {
            $.ajax({
                    url: "http://gdata.youtube.com/feeds/api/videos/"+video_id+"?v=2&alt=json",
                    dataType: "jsonp",
                    success: function (data) { 
                      parseresults(data,video_id); 
                    }
            });
    }

    function parseresults(data,video_id) {
            var title = data.entry.title.$t;
            var description = data.entry.media$group.media$description.$t;
            var viewcount = data.entry.yt$statistics.viewCount;
            var author = data.entry.author[0].name.$t;
            //var pubdate=data.entry.published.$t;

            var pubdate = new Date( data.entry[ "published" ].$t.substr( 0, 4 ), data.entry[ "published" ].$t.substr( 5, 2 ) - 1, data.entry[ "published" ].$t.substr( 8, 2 ) ).toLocaleDateString( )

          //  document.getElementById('jsmessage').innerHTML+=video_id;
            var title_id='#title'+video_id;
            var description_id='#description'+video_id;
            var extrainfo_id='#extrainfo'+video_id;
            var pubdate_id='#pubdate'+video_id;

            $(title_id).html(title);
            $(pubdate_id).html('<b>Added on: </b>'+pubdate)
            $(description_id).html('<b>Description</b>: ' + description);
            $(extrainfo_id).html('<b>Author</b>: ' + author + '<br/><b>Views</b>: ' + viewcount);
         //   getComments(data.entry.gd$comments.gd$feedLink.href + '&max-results=50&alt=json', 1);
    }




    function getComments(commentsURL, startIndex) {
            $.ajax({
                    url: commentsURL + '&start-index=' + startIndex,
                    dataType: "jsonp",
                    success: function (data) {
                    $.each(data.feed.entry, function(key, val) {
                            $('#comments').append('<br/>Author: ' + val.author[0].name.$t + ', Comment: ' + val.content.$t);
                    });
                    if ($(data.feed.entry).size() == 50) { getComments(commentsURL, startIndex + 50); }
                    }
            });
    }
于 2013-07-15T10:49:01.887 回答
0

您需要嵌入的 iframe 的一般格式是这样的:

<iframe class="youtube-player" type="text/html" width="' + {{ w }} + '" height="' + {{ h }} + '" src="http://www.youtube.com/embed/' + {{ youtubelink }} + '" allowfullscreen frameborder="0"></iframe>

将它插入到您的模板中,只要您需要页面上的视频。w您需要将变量、hyoutubelink(其格式为h5EofwRzit0,并且可以直接从该视频的 url 中取出)传递到模板中。当然,如果您愿意,可以对这些中的任何一个或全部进行硬编码,而不是要求传递变量。这应该是显示视频所需的全部内容。

于 2013-07-15T08:06:10.643 回答