public List <Yt_Category> GetVideoCategories(ApplicationDbContext context) { var _list = new List <Yt_Category>(); YouTubeService objYouTubeService = default(YouTubeService); try { objYouTubeService = new YouTubeService(new BaseClientService.Initializer() { ApiKey = Videos.Configs.YoutubeSettings.key, ApplicationName = this.GetType().ToString() }); } catch (Exception ex) { ErrorLgBLL.Add(context, "Exception Youtube Service Init", "", ex.Message); } VideoCategoryListResponse objCategories = null; try { var objRequest = objYouTubeService.VideoCategories.List("id,snippet"); objRequest.Hl = "en_US"; objRequest.RegionCode = "US"; objCategories = objRequest.Execute(); } catch (Exception ex) { ErrorLgBLL.Add(context, "Exception Youtube List Request", "", ex.Message); } foreach (var obj in objCategories.Items) { _list.Add(new Yt_Category() { ID = obj.Id, Title = obj.Snippet.Title }); } return(_list); }
private async Task <IEnumerable <VideoCategory> > GetCategoriesAsync(CancellationToken cancellationToken) { _logger.LogTrace($"{GetType()} - BEGIN {nameof(GetCategoriesAsync)}"); try { YouTubeService ytService = await _ytServiceProvider.CreateServiceAsync(cancellationToken); VideoCategoriesResource.ListRequest req = ytService.VideoCategories.List(SNIPPET_PART_PARAM); req.Hl = "fr_FR"; req.RegionCode = "fr"; VideoCategoryListResponse list = await req.ExecuteAsync(cancellationToken); return(list.Items.Where(cat => cat.Snippet.Assignable.GetValueOrDefault(false))); } catch (Exception e) { _logger.LogError("An error occurred while retrieving video categories", e); throw; } }
public async Task Refresh(YouTubeSession session) { while (DetectedCategories.Count > 1) { (DetectedCategories as IList <VideoCategory>).RemoveAt(1); } var request = session.YouTubeService.VideoCategories.List("snippet"); request.RegionCode = RegionInfo.CurrentRegion.TwoLetterISORegionName; request.Hl = CultureInfo.CurrentUICulture.TwoLetterISOLanguageName; VideoCategoryListResponse result = null; int retry = 0; do { result = await request.ExecuteAsync(); ++retry; if (retry == 30) { return; } }while (result == null || result.Items == null); foreach (var i in result.Items) { if (i.Snippet.Assignable == false) { continue; } VideoCategory item = new VideoCategory(); item.Name = i.Snippet.Title; item.Id = i.Id; (DetectedCategories as IList <VideoCategory>).Add(item); } }