private async Task <IVideoList> GetActivityApi(string culture, int maxResult, string pageToken) { var activityRequest = _youTubeService.Activities.List("contentDetails"); activityRequest.RegionCode = I18nLanguages.GetRegionCode(culture); activityRequest.MaxResults = SEARCH_PAGE_MAX_RESULT; activityRequest.PageToken = pageToken; //activityRequest.Home = true; //deprecated from 12 sept 2016 activityRequest.Key = _youTubeServiceControl.ApiKey; activityRequest.PublishedAfter = DateTime.Today; activityRequest.ChannelId = "UCIi2Tk2POJkRgWHD7HGBa7Q,UCQeaXcwLUDeRoNVThZXLkmw"; //activityRequest.OauthToken = _youTubeServiceControl.OAuthToken; var activityResponse = await activityRequest.ExecuteAsync(); var videoIds = new StringBuilder(); var filteredList = activityResponse.Items.Where(i => i.ContentDetails.Upload != null);// || i.ContentDetails.Recommendation != null); foreach (var item in filteredList) { videoIds.AppendLine(MVideoItem.GetVideoId(item.ContentDetails)); videoIds.AppendLine(","); } var videos = await GetVideo(videoIds.ToString()); return(new MActivityList(activityResponse, videos)); }
public async Task <IResponceList> Search(string searchString, int maxResult, string nextPageToken, string culture, SearchType searchType, SearchFilter searchFilter) { var request = _youTubeService.Search.List("snippet,id"); request.Key = _youTubeServiceControl.ApiKey; request.PageToken = nextPageToken; request.MaxResults = SEARCH_PAGE_MAX_RESULT; request.Type = searchType.ToTypeString(); request.Q = searchString; request.Order = searchFilter.Order; request.PublishedAfter = searchFilter.PublishedAfter; request.PublishedBefore = searchFilter.PublishedBefore; request.RegionCode = I18nLanguages.GetRegionCode(culture); request.RelevanceLanguage = I18nLanguages.GetHl(culture); if (searchType == SearchType.Video) { request.VideoDuration = searchFilter.VideoDuration; request.VideoDefinition = searchFilter.VideoDefinition; } var response = await request.ExecuteAsync(); if (searchType == SearchType.Video) { var ids = new StringBuilder(); foreach (var item in response.Items) { ids.AppendLine(item.Id.VideoId); ids.AppendLine(","); } var videoDetails = await GetVideoDetails(ids.ToString()); return(new MVideoList(response, videoDetails)); } if (searchType == SearchType.Channel) { return(new MChannelList(response)); } if (searchType == SearchType.Playlist) { var ids = new StringBuilder(); foreach (var item in response.Items) { ids.AppendLine(item.Id.PlaylistId); ids.AppendLine(","); } var list = await GetPlaylistList(ids.ToString(), response.NextPageToken); return(list); } return(MVideoList.Empty); }
public async Task <IEnumerable <IGuideCategory> > GetGuideCategories(string culture) { var categoriesListRequest = _youTubeService.GuideCategories.List("snippet"); categoriesListRequest.Key = _youTubeServiceControl.ApiKey; categoriesListRequest.RegionCode = I18nLanguages.GetRegionCode(culture); categoriesListRequest.Hl = I18nLanguages.GetHl(culture);; GuideCategoryListResponse categoriesListResponse = await categoriesListRequest.ExecuteAsync(); return(categoriesListResponse.Items.Select(category => new MGuideCategory(category)).Cast <IGuideCategory>().ToList()); }
public async Task <IEnumerable <IVideoCategory> > GetCategories(string culture) { var categoriesListRequest = _youTubeService.VideoCategories.List("snippet"); categoriesListRequest.Key = _youTubeServiceControl.ApiKey; categoriesListRequest.RegionCode = I18nLanguages.GetRegionCode(culture); categoriesListRequest.Hl = I18nLanguages.GetHl(culture); var categoriesListResponse = await categoriesListRequest.ExecuteAsync(); var items = categoriesListResponse.Items.Where(c => c.Snippet != null && c.Snippet.Assignable == true); return(items.Select(category => new MVideoCategory(category)));//.Cast<IVideoCategory>().ToList(); }
public async Task <IVideoList> GetCategoryVideoList(string categoryId, string culture, int maxResult, string pageToken) { var videoRequest = _youTubeService.Videos.List("snippet,contentDetails,statistics,player"); videoRequest.RegionCode = I18nLanguages.GetRegionCode(culture); videoRequest.Chart = VideosResource.ListRequest.ChartEnum.MostPopular; videoRequest.Key = _youTubeServiceControl.ApiKey; videoRequest.MaxResults = maxResult; videoRequest.PageToken = pageToken; videoRequest.VideoCategoryId = categoryId; var videoResponse = await videoRequest.ExecuteAsync(); return(new MVideoList(videoResponse)); }
public async Task <IVideoList> GetMostPopular(string culture, int maxResult, string pageToken) { try { var videoRequest = _youTubeService.Videos.List("snippet,contentDetails,statistics"); videoRequest.RegionCode = I18nLanguages.GetRegionCode(culture); videoRequest.Chart = VideosResource.ListRequest.ChartEnum.MostPopular; videoRequest.Hl = I18nLanguages.GetHl(culture);; videoRequest.Key = _youTubeServiceControl.ApiKey; videoRequest.MaxResults = maxResult; videoRequest.PageToken = pageToken; var videoResponse = await videoRequest.ExecuteAsync(); return(new MVideoList(videoResponse)); } catch (Exception) { return(await GetMostPopularWeb(I18nLanguages.GetRegionCode(culture), maxResult, pageToken)); } }