2015-06-30 4 views
1

У меня есть веб-страница ASP.Net, где я показывал видео Youtube с моего канала с помощью V2. Поскольку Google ушел в отставку V2 API, я пытаюсь использовать V3 API, но не могу получить видео с канала.Получить видео с канала с помощью API Youtube V3 в C#

Я просмотрел образцы в github, но пример показывает, как создать видео, но не имеет способа получить видео. Поиск в SO, я вижу примеры с использованием php-библиотеки, я смотрю что-то конкретное на C#.

Может ли кто-нибудь помочь мне в этом отношении?

+1

плейлиста не то же самое, как канал @LitisqeKumar – DaImTo

ответ

3

Добавив идентификатор канала в Search.list, он возвращает список видео в канале.

var searchListRequest = service.Search.List("snippet"); 
searchListRequest.ChannelId = "UCIiJ33El2EakaXBzvelc2bQ"; 
var searchListResult = searchListRequest.Execute(); 

ответ Update комментировать объяснение того, что происходит:

Собственно поиск возвращает все, что связано с идентификатором канала, вы все-таки поиск по идентификатору канала.

Поиск возвращает запрос SearchListResponse, который содержит несколько элементов. Каждый элемент имеет тип SearchResource Поисковые ресурсы могут иметь разные типы или виды. На двух приведенных ниже рисунках вы можете видеть, что первый из них добр youtube#channel второй - добрый youtube#video вам будет нужно зациклиться и найти видео youtube. если вы перейдете в нижнюю часть страницы search.list, вы можете попробовать его и посмотреть, что исходный JSon возвращает API.

enter image description here

enter image description here

решение:

Теперь, если все, что вы хотите сделать, это получить видео обратно, вы можете просто сказать ему, что все, что вы хотите это видео, добавив тип к вашему запрос:

searchListRequest.Type = "video"; 
+0

Спасибо, я дам ему попробуйте и дайте вам знать. – Nitesh

+0

пойдите для этого Я протестировал его, прежде чем отправил. https://github.com/LindaLawton/Google-Dotnet-Samples/tree/master/YouTube у вас есть какие-либо проблемы, я могу загрузить изменения в образец проекта – DaImTo

+0

Спасибо, я поеду за ним сразу ... – Nitesh

3

Хотя меня попросили некоторое время назад, у меня также есть пчела n какое-то время искать, как получать видео (все) с канала с помощью C#. На данный момент у меня есть метод, который поддерживает разбиение на страницы (вероятно, можно было бы сделать лучше :))

Надеется, что это помогает

public Task<List<SearchResult>> GetVideosFromChannelAsync(string ytChannelId) 
    { 

     return Task.Run(() => 
     { 
      List<SearchResult> res = new List<SearchResult>(); 

var _youtubeService = new YouTubeService(new BaseClientService.Initializer() 
     { 
      ApiKey = "AIzaXyBa0HT1K81LpprSpWvxa70thZ6Bx4KD666", 
      ApplicationName = "Videopedia"//this.GetType().ToString() 
     }); 

      string nextpagetoken = " "; 

      while (nextpagetoken != null) 
      { 
       var searchListRequest = _youtubeService.Search.List("snippet"); 
       searchListRequest.MaxResults = 50; 
       searchListRequest.ChannelId = ytChannelId; 
       searchListRequest.PageToken = nextpagetoken; 

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

       // Process the video responses 
       res.AddRange(searchListResponse.Items); 

       nextpagetoken = searchListResponse.NextPageToken; 

      } 

      return res; 

     }); 
    } 
+0

Что такое _youtubeService в вашем примере? – leen3o

+0

Измененный код, отражающий это :) – erPe

+0

Можно ли отличать видео по каналу списка воспроизведения, используя этот метод? – Priyankara