예제 #1
0
        public MVideoList(VideoListResponse response, IPlaylistItemList playListItems) : this()
        {
            NextPageToken = playListItems.NextPageToken;
            PageInfo      = playListItems.PageInfo;
            PrevPageToken = playListItems.PrevPageToken;
            var items = response.Items.Where(i => i.Snippet.Title != "Deleted video");

            Items     = items.Select(i => new MVideoItem(i)).ToList <IVideoItem>();
            VisitorId = playListItems.VisitorId;
        }
예제 #2
0
        public void AddPlaylistItemList(string pageToken, IPlaylistItemList list)
        {
            if (pageToken == null)
            {
                pageToken = string.Empty;
            }

            IPlaylistItemList result;

            if (!_cahce.TryGetValue(pageToken, out result))
            {
                _cahce.Add(pageToken, list);
            }
        }
예제 #3
0
        //private void CheckProfile()
        //{
        //    if (!_youTubeServiceControl.IsAuthorized)
        //    {
        //        const string image = "https://yt3.ggpht.com/-v6fA9YDXkMs/AAAAAAAAAAI/AAAAAAAAAAA/_GjtZC3QejY/s88-c-k-no/photo.jpg";
        //        const string displayName = "";
        //        new MProfile(string.Empty, image, displayName);
        //    }

        //    if (_profileInfo == null)
        //    {
        //        _youTubeServiceControl.Logout();
        //        throw new LiteTubeException("YouTube channel not found");
        //    }
        //}

        private async Task <IVideoList> GetVideoList(IPlaylistItemList playListItems)
        {
            var ids = new StringBuilder();

            foreach (var item in playListItems.Items)
            {
                ids.AppendLine(item.Snippet.ResourceId.VideoId);
                ids.AppendLine(",");
            }

            var request = _youTubeService.Videos.List("snippet,contentDetails,statistics");

            request.Key = _youTubeServiceControl.ApiKey;
            request.Id  = ids.ToString();

            var response = await request.ExecuteAsync();

            return(new MVideoList(response, playListItems));
        }