本系列文章于2017年中用最新信息和新鲜示例进行了重写。
YouTube是一种在线视频共享服务,由PayPal的前雇员于2005年创建。如今,它作为Google的子公司运营,根据Alexa的说法,它目前是全球第二大最受欢迎的网站。
在此示例中,我将向您展示如何使用YouTube数据API 。 该API可让您将YouTube功能集成到网站。 它还使开发人员可以访问search.list
方法,该方法支持搜索视频,播放列表和频道。 该API具有针对不同平台的多个客户端库,这些平台包括Android,Go,Java,JavaScript,NodeJS,.NET,PHP,Python和Ruby。
让我们看看如何使用JavaScript通过四个步骤执行简单搜索:
如果尚未这样做,请按照介绍页面中概述的步骤进行克隆。
将http-server软件包全局安装到您的计算机中。
$ npm i -g http-server
使用此链接获取您的YouTube API密钥。 获取该文件后,请打开
src/youtube-example.html
文件,并将undefined
替换为您的api密钥。HTML / JS代码 :
<!DOCTYPE html> <html> <head> <title>YouTube JSON Example</title> <script type="text/javascript"> const api = undefined; // Specify your api key here // Load API library function onLoad() { if(api) { gapi.client.load('youtube', 'v3', loadYouTubeApi); } else { document.getElementById('output').innerHTML += 'API key has not been specified!'; } } // Set API Key function loadYouTubeApi() { gapi.client.setApiKey(api); search('sitepoint'); } // Call the search.list() function search(queryTerm) { let request = gapi.client.youtube.search.list({ part: 'id', q: queryTerm }); // Execute the request call and output it in HTML view request.execute((response) => { const responseString = JSON.stringify(response, '', 2); document.getElementById('output').innerHTML += responseString; }) } </script> <script src="https://apis.google.com/js/client.js?onload=onLoad" type="text/javascript"></script> </head> <body> <h1>YouTube Search Results</h1> <pre id="output"></pre> </body> </html>
要运行html代码,您需要通过服务器加载它。 用浏览器直接打开它是行不通的。 导航到
src
文件夹并启动我们刚刚安装的http-server
。$ http-server Starting up http-server, serving ./ Available on: http://127.0.0.1:8080 http://10.0.2.15:8080
服务器启动并运行后,您可以打开浏览器并使用以下URL访问页面:http://127.0.0.1:8080 / youtube-example.html。 几秒钟后,页面将填充一些如下所示的JSON数据:
YouTube API JSON响应 (部分结果):
{
"kind": "youtube#searchListResponse",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/PaiEDiVxOyCWelLPuuwa9LKz3Gk\"",
"nextPageToken": "CAUQAA",
"regionCode": "KE",
"pageInfo": {
"totalResults": 4249,
"resultsPerPage": 5
},
"items": [
{
"kind": "youtube#searchResult",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/QpOIr3QKlV5EUlzfFcVvDiJT0hw\"",
"id": {
"kind": "youtube#channel",
"channelId": "UCJowOS1R0FnhipXVqEnYU1A"
}
},
{
"kind": "youtube#searchResult",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/AWutzVOt_5p1iLVifyBdfoSTf9E\"",
"id": {
"kind": "youtube#video",
"videoId": "Eqa2nAAhHN0"
}
},
{
"kind": "youtube#searchResult",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/2dIR9BTfr7QphpBuY3hPU-h5u-4\"",
"id": {
"kind": "youtube#video",
"videoId": "IirngItQuVs"
}
}
]
}
这是该系列的其他示例: