我使用了一些代码来查找来自特定频道的最新视频,我对其工作原理有一个基本的了解,但我不确定它是如何获取视频的。如果有人能解释说那很棒
<!--Latest video-->
<h1 class="title"> Latest video </h1>
<div id="static_video"></div>
<!--Source the latest vdeo-->
<script type="text/javascript">
function showVideo(response) {
if(response.data && response.data.items) {
var items = response.data.items;
if(items.length>0) {
var item = items[0];
var videoid = "http://www.youtube.com/embed/"+item.id;
console.log("Latest ID: '"+videoid+"'");
var video = "<iframe width='720' height='480' src='"+videoid+"' frameborder='0' allowfullscreen></iframe>";
$('#static_video').html(video);
}
}
}
</script>
<script type="text/javascript" src="https://gdata.youtube.com/feeds/api/users/UC9DiuD3z0btMOAMG_FvDRag/uploads?max-results=1&orderby=published&v=2&alt=jsonc&callback=showVideo"></script>
可以看到here
另一个帮助是,如何通过搜索框显示所有视频,并通过它们进行搜索。对不起,如果我看起来很贪心,但如果有人可以解释的话,这将是一个巨大的帮助。
编辑:凹凸,我不喜欢碰撞,但我需要这个答案,请帮帮我!答案 0 :(得分:1)
首先,不推荐使用API V2,您需要将YouTube API v3与资源search.list一起使用
您需要一个API密钥,请按此link获取一个。
使用此参数获取最新的频道上传内容:
part: 'snippet' or 'id'
channelId: 'UC9DiuD3z0btMOAMG_FvDRag'
maxResults: 1
order: date
https://www.googleapis.com/youtube/v3/search?part=id&channelId=UC9DiuD3z0btMOAMG_FvDRag&maxResults=1&order=date&key= {YOUR_API_KEY}
输出:
"items": [
{
"kind": "youtube#searchResult",
"etag": "\"PSjn-HSKiX6orvNhGZvglLI2lvk/9r2l5FZB6-ysy9_0d37qYA5Kg8I\"",
"id": {
"kind": "youtube#video",
"videoId": "WH8U2NQ_fnA"
}
}
然后你有频道的最后一个视频ID。 之后,您需要使用YouTube API player。 一个实时示例,向您展示播放器的工作原理:http://jsbin.com/vajobawiba/1/edit?html,js,output
您只需要使用上一步获得的视频ID复制该代码!
示例:
在index.html的正文末尾添加此行
<script src="https://apis.google.com/js/client.js?onload=googleApiClientReady"></script>
还有javascript示例:
function googleApiClientReady() {
var apiKey = 'YOUR_API_KEY',
youtubeId,
request;
gapi.client.setApiKey(apiKey);
gapi.client.load('youtube', 'v3', function() {
request = gapi.client.youtube.search.list({
part: 'id',
channelId: 'UC9DiuD3z0btMOAMG_FvDRag',
maxResults: 1,
order: date
});
request.execute(function(response) {
if(response.pageInfo.totalResults != 0) {
youtubeId = response.result.items[0].id.videoId;
}
});
});
}