有了Youtube api v2,就可以很容易地获取视频。只需像这样发送一个查询:
Youtube api v2还有一个用于构建查询的交互式演示页面:http://gdata.youtube.com/demo/index.html
对于Youtube api v3,我不知道相应的方法。请告诉我v3接口的使用方法。
谢谢!
发布于 2014-03-25 01:30:49
channels#list方法将返回一个JSON,其中包含有关频道的一些信息,包括"uploads“播放列表的播放列表ID:
https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername=OneDirectionVEVO&key={YOUR_API_KEY}
有了播放列表ID,就可以通过playlistItems#list方法获取视频:
https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=UUbW18JZRgko_mOGm5er8Yzg&key={YOUR_API_KEY}
您可以在文档页面的末尾对其进行测试。
发布于 2014-09-27 01:42:49
这个应该可以了。这段代码只是获取并输出标题,但您可以获取所需的任何详细信息
// Get Uploads Playlist
$.get(
"https://www.googleapis.com/youtube/v3/channels",{
part : 'contentDetails',
forUsername : 'USER_CHANNEL_NAME',
key: 'YOUR_API_KEY'},
function(data) {
$.each( data.items, function( i, item ) {
pid = item.contentDetails.relatedPlaylists.uploads;
getVids(pid);
});
}
);
//Get Videos
function getVids(pid){
$.get(
"https://www.googleapis.com/youtube/v3/playlistItems",{
part : 'snippet',
maxResults : 20,
playlistId : pid,
key: 'YOUR_API_KEY'},
function(data) {
var results;
$.each( data.items, function( i, item ) {
results = '<li>'+ item.snippet.title +'</li>';
$('#results').append(results);
});
}
);
}
<!--In your HTML -->
<ul id="results"></ul>
发布于 2017-01-19 04:19:07
如果要考虑配额成本,遵循这个简单的算法可能是有益的。
首先从https://www.youtube.com/feeds/videos.xml?channel_id=获取数据...这是一个简单的XML提要,它将为您提供视频ID,但您不能指定更多的“部分”(统计数据等)。
使用该列表中的视频ID,在/videos应用编程接口端点上执行一个查询,该查询允许一个逗号分隔的视频ID列表,该列表应该只会导致1个配额成本,加上任何其他部分参数的0-2。正如@chrismacp指出的那样,使用/search端点更简单,但配额成本为100,这可能会很快增加。
在进行第二次调用时,这里有一个资源考虑因素(cpu、内存等),但我相信在许多情况下,这是一个有用的方法。
https://stackoverflow.com/questions/22613903
复制相似问题