【问题标题】:Get youtube playlist by ID in youtube api .net在 youtube api .net 中按 ID 获取 youtube 播放列表
【发布时间】: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


【解决方案1】:

documentation中列出了使用ContentDetails.RelatedPlaylists可以获得的播放列表:

  • 喜欢
  • 收藏夹
  • 上传
  • 观看历史
  • 稍后观看

因此,如果您想获取您创建的播放列表的项目,您将无法使用ContentDetails.RelatedPlaylists 进行操作,您必须提供播放列表 ID。我相信如果您更改它应该可以与您提供的代码一起使用(可能需要一些调整)

playlistItemsListRequest.PlaylistId = uploadsListId;

使用您想要获取其视频的播放列表的 ID。

【讨论】:

    猜你喜欢
    • 2018-02-19
    • 1970-01-01
    • 1970-01-01
    • 2015-07-04
    • 2011-09-14
    • 2013-02-16
    • 2017-08-10
    • 2017-11-01
    • 2013-09-12
    相关资源
    最近更新 更多