예제 #1
0
        public VideoResultList GetVideosByKeyword(string keyword, string pageToken)
        {
            var youtubeService = new YouTubeService(new BaseClientService.Initializer()
            {
                ApiKey = API_KEY
            });

            var searchListRequest = youtubeService.Search.List("snippet");

            searchListRequest.Type            = "video";
            searchListRequest.MaxResults      = 25;
            searchListRequest.PageToken       = pageToken;
            searchListRequest.Q               = keyword;
            searchListRequest.VideoEmbeddable = SearchResource.ListRequest.VideoEmbeddableEnum.True__;
            var result = searchListRequest.Execute();

            VideoResultList resultList = new VideoResultList();

            resultList.VideosList    = new List <YoutubeVideoModel>();
            resultList.NextPageToken = result.NextPageToken;

            foreach (var item in result.Items)
            {
                resultList.VideosList.Add(new YoutubeVideoModel()
                {
                    Id           = item.Id.VideoId,
                    Channel      = item.Snippet.ChannelTitle,
                    Description  = item.Snippet.Description,
                    ThumbnailUrl = item.Snippet.Thumbnails.Medium.Url,
                    Title        = item.Snippet.Title
                });
            }

            return(resultList);
        }
예제 #2
0
        public VideoResultList GetPlaylistContentGoogle(string playlistId, string nextPageToken, string accessToken)
        {
            var youtubeService = new YouTubeService(new BaseClientService.Initializer()
            {
                ApiKey = API_KEY
            });

            var searchListRequest = youtubeService.PlaylistItems.List("snippet");

            searchListRequest.MaxResults = 50;
            searchListRequest.PageToken  = nextPageToken;
            searchListRequest.PlaylistId = playlistId;
            searchListRequest.OauthToken = accessToken;
            var result = searchListRequest.Execute();

            VideoResultList resultList = new VideoResultList();

            resultList.VideosList    = new List <YoutubeVideoModel>();
            resultList.NextPageToken = result.NextPageToken != null ? result.NextPageToken : "NO_MORE";

            foreach (var item in result.Items)
            {
                try
                {
                    resultList.VideosList.Add(new YoutubeVideoModel()
                    {
                        Id           = item.Snippet.ResourceId.VideoId,
                        Channel      = item.Snippet.ChannelTitle,
                        Description  = item.Snippet.Description,
                        ThumbnailUrl = item.Snippet.Thumbnails.Medium.Url,
                        Title        = item.Snippet.Title
                    });
                }
                catch (Exception)
                {
                    continue;
                }
            }

            return(resultList);
        }