Youtube .NET API v3批量搜索

时间:2014-03-23 11:04:35

标签: .net youtube youtube-api youtube-data-api

我使用的是Google YouTube .NET API第3版。我添加了以下nuget包

        

正如Youtube开发人员示例中所述,我可以对单个搜索查询进行单一搜索。如何一次批量处理几个搜索查询。从开发者文档我知道我可以执行50个操作。 (任何50 CRUD)。如何使用.NET客户端库执行此操作? 你能给我一个代码示例吗?到目前为止,我正在关注这个例子

Search by keyword

 private async Task Run()
    {
      var youtubeService = new YouTubeService(new BaseClientService.Initializer()
      {
        ApiKey = "REPLACE_ME",
        ApplicationName = this.GetType().ToString()
      });

  var searchListRequest = youtubeService.Search.List("snippet");
  searchListRequest.Q = "Google"; // Replace with your search term.
  searchListRequest.MaxResults = 50;

  // Call the search.list method to retrieve results matching the specified query term.
  var searchListResponse = await searchListRequest.ExecuteAsync();

  List<string> videos = new List<string>();
  List<string> channels = new List<string>();
  List<string> playlists = new List<string>();

  // Add each result to the appropriate list, and then display the lists of
  // matching videos, channels, and playlists.
  foreach (var searchResult in searchListResponse.Items)
  {
    switch (searchResult.Id.Kind)
    {
      case "youtube#video":
        videos.Add(String.Format("{0} ({1})", searchResult.Snippet.Title, searchResult.Id.VideoId));
        break;

      case "youtube#channel":
        channels.Add(String.Format("{0} ({1})", searchResult.Snippet.Title, searchResult.Id.ChannelId));
        break;

      case "youtube#playlist":
        playlists.Add(String.Format("{0} ({1})", searchResult.Snippet.Title, searchResult.Id.PlaylistId));
        break;
    }
  }

  Console.WriteLine(String.Format("Videos:\n{0}\n", string.Join("\n", videos)));
  Console.WriteLine(String.Format("Channels:\n{0}\n", string.Join("\n", channels)));
  Console.WriteLine(String.Format("Playlists:\n{0}\n", string.Join("\n", playlists)));
}

0 个答案:

没有答案