public async Task GetChannelVideosAsyncPaged() { string channelId = "UCJFp8uSYCjXOMnkUyb3CQ3Q"; int targetCount = 250; int receivedCount = 0; string nextPageToken = ""; List <ChannelItem> allChannelVideos = new List <ChannelItem>(); do { string result = await VideosProvider.GetChannelVideosAsync(channelId, ChannelPartParams.Default, "", nextPageToken); ChannelSearchResponse channelSearchResponse = ChannelSearchResponse.FromString(result); if (targetCount > channelSearchResponse.pageInfo.totalResults) { targetCount = channelSearchResponse.pageInfo.totalResults; } nextPageToken = channelSearchResponse.nextPageToken; List <ChannelItem> items = channelSearchResponse.items; receivedCount += items.Count; if (items.Any()) { allChannelVideos.AddRange(items); } } while (string.IsNullOrEmpty(nextPageToken) || receivedCount < targetCount); Console.WriteLine(allChannelVideos); Debugger.Break(); }
public async Task GetChannelVideosAsync() { string channelId = "UCJFp8uSYCjXOMnkUyb3CQ3Q"; string result = await VideosProvider.GetChannelVideosAsync(channelId); ChannelSearchResponse channelSearchResponse = ChannelSearchResponse.FromString(result); List <ChannelItem> items = channelSearchResponse.items; Console.WriteLine(items); LoggingManager.CreateFile("GetChannelVideosAsync.txt", channelSearchResponse.Serialize()); Debugger.Break(); }