我想在我的django博客文章中整合youtube视频和照片。 youtube数据API和youtube analyticis API文档非常混乱。有人能指出我正确的方向。我该如何继续整合它。
答案 0 :(得分: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
,h
和youtubelink
(其格式为h5EofwRzit0
)传递给模板,并且可以直接从网址中提取那个视频)。当然,如果您愿意,可以对其中的任何一个或全部进行硬编码,而不是要求传递变量。这应该是显示视频所需的全部内容。
答案 1 :(得分:0)
这里video_id是
中的idyoutube url https://www.youtube.com/watch?v=id <- video_id is this one.
缩略图使用此网址
http://img.youtube.com/vi/{{video_id}}/0.jpg
0.jpg总是高清缩略图.. 1.jpg,2.jpg 3.jpg是缩略图1,2,3
使用以下JS获取title / desc / comments等信息。
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); }
}
});
}