Example #1
0
 public IActionResult Index(string id = "UCggu7ZqCPm962udvkv-pMRQ")
 {
     @ViewBag.IdCanal = id;
     if (JaCarregados != null)
     {
         var main = JaCarregados.FirstOrDefault(c => c.CanalId.Equals(id));
         if (main == null)
         {
             MainTelaViewModel mainTela = CarregarMainTela(id);
             return(View(mainTela));
         }
         else
         {
             return(View(main));
         }
     }
     else
     {
         JaCarregados = new List <MainTelaViewModel>();
         MainTelaViewModel mainTela = CarregarMainTela(id);
         return(View(mainTela));
     }
 }
Example #2
0
        private MainTelaViewModel CarregarMainTela(string id)
        {
            MainTelaViewModel mainTela = new MainTelaViewModel();

            mainTela.Itens = new List <ItemViewModel>();

            var youtubeService = new YouTubeService(new BaseClientService.Initializer()
            {
                ApiKey          = "AIzaSyBVf3-QzJn93Zddi7XfCNe4YIXmgCsKTiA",
                ApplicationName = this.GetType().ToString()
            });

            var Canal = youtubeService.Channels.List("contentDetails,snippet,TopicDetails,brandingSettings");

            Canal.Id = id;
            var CanalResponse = Canal.Execute().Items.First();

            mainTela.Capa        = CanalResponse.BrandingSettings.Image.BannerImageUrl;
            mainTela.TituloCanal = CanalResponse.Snippet.Title;
            mainTela.Descricao   = CanalResponse.Snippet.Description.Length > 300 ? CanalResponse.Snippet.Description.Substring(0, 300) : CanalResponse.Snippet.Description;


            var channelsRequest = youtubeService.Playlists.List("contentDetails,snippet");

            channelsRequest.MaxResults = 50;
            channelsRequest.ChannelId  = id;

            var channelsListResponse = channelsRequest.Execute();

            foreach (var channel in channelsListResponse.Items)
            {
                //  var uploadsListId = channelsRequest.Id;// channel.ContentDetails.RelatedPlaylists.Uploads;
                ItemViewModel itemViewModel = new ItemViewModel(channel.Snippet.Title);
                itemViewModel.Videos = new List <VideoViewModel>();

                var nextPageToken = "";
                while (nextPageToken != null)
                {
                    var playlistItemsListRequest = youtubeService.PlaylistItems.List("contentDetails,snippet");
                    playlistItemsListRequest.PlaylistId = channel.Id;
                    playlistItemsListRequest.MaxResults = 50;
                    playlistItemsListRequest.PageToken  = nextPageToken;
                    var playlistItemsListResponse = playlistItemsListRequest.Execute();
                    foreach (var item in playlistItemsListResponse.Items)
                    {
                        try
                        {
                            itemViewModel.Videos.Add(new VideoViewModel()
                            {
                                Titulo      = item.Snippet.Title,
                                Descricao   = item.Snippet.Description.Length > 150 ? item.Snippet.Description.Substring(0, 50) : item.Snippet.Description,
                                ImagemVideo = item.Snippet.Thumbnails.High.Url,
                                LinkVideo   = "https://www.youtube.com/embed/" + item.Snippet.ResourceId.VideoId,
                                PlaylistId  = item.Snippet.PlaylistId
                            });
                        }
                        catch (Exception)
                        {
                        }
                    }

                    nextPageToken = playlistItemsListResponse.NextPageToken;
                }
                mainTela.Itens.Add(itemViewModel);
            }
            mainTela.CanalId = id;
            JaCarregados.Add(mainTela);
            return(mainTela);
        }