Esempio n. 1
0
        internal static string SaveRegion(string regionName)
        {
            var region = I18nLanguages.CheckRegionName(regionName);

            ApplicationData.Current.RoamingSettings.Values["Region"] = region;
            return(region);
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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 void Save()
 {
     SettingsHelper.SaveQuality(_selectedQuality);
     SettingsHelper.SaveRegion(_selectedRegion);
     SettingsHelper.SaveTheme(_selectedApplicationTheme);
     SettingsHelper.SaveLanguage(_selectedLanguage);
     SettingsHelper.SaveAutoplayVideo(_isAutoplayVideo);
     SettingsHelper.SaveIsLargeItems(_isLargeItems);
     _getDataSource().Update(I18nLanguages.CheckRegionName(_selectedRegion), _selectedQuality);
 }
Esempio n. 5
0
        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());
        }
Esempio n. 6
0
        public async Task <IChannelList> GetChannels(string categoryId, string culture, int maxPageResult, string nextPageToken)
        {
            var channelListRequest = _youTubeService.Channels.List("snippet,statistics,brandingSettings");

            channelListRequest.Key        = _youTubeServiceControl.ApiKey;
            channelListRequest.Hl         = I18nLanguages.GetHl(culture);
            channelListRequest.CategoryId = categoryId;
            channelListRequest.MaxResults = maxPageResult;
            channelListRequest.PageToken  = nextPageToken;

            var channelListResponse = await channelListRequest.ExecuteAsync();

            return(new MChannelList(channelListResponse));
        }
Esempio n. 7
0
        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();
        }
Esempio n. 8
0
        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));
        }
Esempio n. 9
0
        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));
            }
        }
Esempio n. 10
0
        internal static string GetRegionName()
        {
            var region = GetRegion();

            return(I18nLanguages.GetRegionName(region));
        }