2014-02-17 51 views
1

我使用了一些代碼來查找來自特定頻道的最新視頻,我對它的工作原理有了一個基本的想法,但我不確定它是如何提供視頻的。如果有人可以解釋那簡直太好了此YouTube最新視頻代碼如何工作?

<!--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

不明白:從特定視頻中找到最新視頻 – mpgn

+0

啊發了一個錯字,意味着來自特定頻道的視頻,現在將編輯 –

回答

1

首先API V2已經過時,您需要使用YouTube API v3用的ressource 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; 
      } 
     }); 
    }); 
} 
+0

對不起,如果這似乎很貪婪,但你能告訴我一個請求代碼的例子嗎? –

+0

@ EverlessDrop41爲你添加一個例子 – mpgn