vie*_*one 62 youtube youtube-api youtube-data-api
使用Youtube api v2,可以轻松获取视频.只需发送如下查询:
Youtube api v2还有一个用于构建查询的交互式演示页面:http: //gdata.youtube.com/demo/index.html
有了Youtube api v3,我不知道相应的方式.请指教我用api v3的方式.
谢谢!
Vin*_*nto 120
的信道#列表方法将返回一个带有JSON关于信道的某些信息,包括为"上传"播放列表中的播放列表ID:
https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername=OneDirectionVEVO&key={YOUR_API_KEY}
Run Code Online (Sandbox Code Playgroud)
使用播放列表ID,您可以使用playlistItems #list方法获取视频:
https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=UUbW18JZRgko_mOGm5er8Yzg&key={YOUR_API_KEY}
Run Code Online (Sandbox Code Playgroud)
您可以在文档页面的末尾测试这些内容.
Bra*_*rad 22
这应该做到这一点.此代码只获取并输出标题,但您可以获得所需的任何详细信息
// 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>
Run Code Online (Sandbox Code Playgroud)
如果考虑配额成本,遵循这个简单的算法可能会有所帮助。
首先从https://www.youtube.com/feeds/videos.xml?channel_id=获取数据......这是一个简单的 XML 提要,它会给你视频 ID,但你不能指定更多的“部分”(统计, 等等)。
使用该列表中的视频 ID,对 /videos API 端点进行查询,该端点允许使用逗号分隔的视频 ID 列表,该列表应仅产生 1 个配额成本,加上 0-2 的任何其他部分参数。正如@chrismcp 指出的那样,使用 /search 端点更简单,但配额成本为 100,可以快速累加。
当您进行第二次调用时,这里需要考虑资源(cpu、内存等),但我相信在许多情况下这可能是一种有用的方法。
| 归档时间: |
|
| 查看次数: |
90351 次 |
| 最近记录: |