【发布时间】:2015-10-18 05:58:06
【问题描述】:
我正在尝试从 C# .NET 程序中的 YouTube 播放列表下载最新项目。现在,我有一个程序可以使用“channel.ContentDetails.RelatedPlaylists.Uploads;”从我的频道的上传播放列表中成功获取必要的数据,这是我从 API 页面上的示例程序中获得的。但是我在 api 文档中找不到任何关于如何切换该行或围绕它的行以通过 ID 而不是我自己的上传来获取播放列表的信息。
这不是重复的,因为此页面上的其他示例说明了如何通过 http 链接找到它,例如“http://gdata.youtube.com/feeds/api/playlists/...”等。我想直接通过 API 的方法来做。下面包括我下载数据的代码部分。
private async Task Run()
{
var youtubeService = new YouTubeService(new BaseClientService.Initializer()
{
ApiKey = "API KEY HERE",
ApplicationName = this.GetType().ToString()
});
//MAYBE I NEED TO CHANGE THIS? SOMETHING LIKE
//'youtubeservice.Playlists.IDUNNOWHAT'
var channelsListRequest = youtubeService.Channels.List("contentDetails");
channelsListRequest.Id = "CHANNEL ID HERE";
// Retrieve the contentDetails part of the channel resource for the authenticated user's channel.
var channelsListResponse = await channelsListRequest.ExecuteAsync();
foreach (var channel in channelsListResponse.Items)
{
//OR MAYBE I NEED TO CHANGE THIS PART?
//LIKE 'channel.ContentDetails.SOMETHING
var uploadsListId = channel.ContentDetails.RelatedPlaylists.Uploads;
var nextPageToken = "";
while (nextPageToken != null)
{
var playlistItemsListRequest = youtubeService.PlaylistItems.List("snippet");
playlistItemsListRequest.PlaylistId = uploadsListId;
playlistItemsListRequest.MaxResults = 50;
playlistItemsListRequest.PageToken = nextPageToken;
// Retrieve the list of videos uploaded to the authenticated user's channel.
var playlistItemsListResponse = await playlistItemsListRequest.ExecuteAsync();
/*
* DO A BUNCH OF STUFF WITH THE YOUTUBE DATA
*/
nextPageToken = playlistItemsListResponse.NextPageToken;
}
}
}
【问题讨论】:
-
您还想获取哪些其他播放列表?
-
我创建的播放列表。我需要通过它的 ID 来获取它。换句话说,我输入了播放列表的 ID 并取回了其中的视频列表。
标签: c# .net api youtube youtube-api