Youtube Data API v3 - 获取自动生成频道的视频

时间:2014-03-23 20:05:22

标签: youtube-api youtube-data-api

我想使用自动生成的通道ID作为下面的示例...

获取https://www.googleapis.com/youtube/v3/channels?part=snippet&id=UCrfjym-5AEUY2QzXsddRIQA&fields=items(id%2Csnippet)&key= {YOUR_API_KEY}

...访问他们的视频内容。但似乎我无法使用part: 'snippet,contentDetails'filter:'uploads'过滤方法,因为我在获取普通用户通道ID之前会先获取它们的playlistItems。是否有一种简单的方法来显示自动生成的频道的视频源或播放列表内容?我使用gapi.client而不是url。这是指导。

1 个答案:

答案 0 :(得分:0)

最终更新

以下是我自动生成的基于主题的频道ID的解决方案,因为我正在使用 gapi.client,这里有效(仅限相关代码 - 下面的网址示例):

function requestUserUploadsPlaylistId(pageToken) {
var itemId = $("#YOUR-TEXT-INPUT").val(CHANNEL-ID); // Topic-based channel Id
var request = gapi.client.youtube.playlists.list({ // Use playlists.list
channelId: itemId, // Return the specified channel's playlist
part: 'snippet',
filter: 'items(id)' // This gets what you only need, the playlist Id
});
request.execute(function(response) {
playlistId = response.result.items[0].id;
requestVideoPlaylist(playlistId, pageToken); // Now call function to get videos
});
}

function requestVideoPlaylist(playlistId, pageToken) {
var requestOptions = {
playlistId: playlistId,
part: 'id,snippet',
maxResults: 6
};

var request = gapi.client.youtube.playlistItems.list(requestOptions);
request.execute(function(response) { // playlistItems.list is used here
. . .

这是自动生成的基于主题的ID的网址示例,它抓取其播放列表ID: GET https://www.googleapis.com/youtube/v3/playlists?part=snippet&channelId=HC9m3exs6zk1U&fields=items%2Fid&key={YOUR_API_KEY} //输出示例播放列表ID:LP9m3exs6zk1U

现在,使用该播放列表ID获取来自自动生成的基于主题的频道ID的视频的网址示例: GET https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=5&playlistId=LP9m3exs6zk1U&key={YOUR_API_KEY} //输出您想要的视频数据。

记住,基于主题的通道ID有不同的长度,上面的示例支持当前可用的长度。

希望这有帮助!