public async Task <List <YouTubeVideo> > GetVideosAsync() { var apiKey = "<your-api-key>"; IYouTubePlaylistReader youtubePlaylistReader = new YouTubePlaylistReader(apiKey, new HttpClient()) { PlaylistId = "UUASYHw_S6bt_7bUhyWWu61Q", MaxResults = 50 }; var youtubeObject = await youtubePlaylistReader.GetAsync(); var list = new List <YouTubeVideo>(); foreach (var item in youtubeObject.items) { var youtubeVideo = new YouTubeVideo(item.snippet.resourceId.videoId, item.snippet.title, item.snippet.publishedAt); list.Add(youtubeVideo); } return(list); }
public async Task GetAsyncTrue1() { var apiKey = "hoge"; var playlistId = "fuga"; var maxResults = 50; using (var mockHttpClient = new MockHttpMessageHandler()) { var urlBuilder = new StringBuilder(); urlBuilder.Append("https://www.googleapis.com/youtube/v3/playlistItems"); urlBuilder.Append("?part=snippet"); urlBuilder.Append("&playlistId=" + playlistId); urlBuilder.Append("&maxResults=" + maxResults); urlBuilder.Append("&key=" + apiKey); var json = ReadJsonFile("playlist.json"); mockHttpClient.When(urlBuilder.ToString()).Respond("application/json", json); var target = new YouTubePlaylistReader(apiKey, mockHttpClient.ToHttpClient()) { PlaylistId = playlistId, MaxResults = maxResults }; var actual = await target.GetAsync(); Assert.NotNull(actual); Assert.Equal(11, actual.items.Count); var snipet = actual.items[0].snippet; Assert.NotNull(snipet); Assert.Equal("Song for�c(HY cover)", snipet.title); Assert.Equal(DateTime.Parse("2018-05-06T13:50:34.000Z").ToUniversalTime(), snipet.publishedAt.ToUniversalTime()); Assert.NotNull(snipet.resourceId); Assert.Equal("JGBLgWBXn_A", snipet.resourceId.videoId); } }