public List <VideoDetails> GetList(string playlistName) { List <VideoDetails> list = new List <VideoDetails>(); List <RootObjectPlayList> listRoot = new List <RootObjectPlayList>(); string insert = "https://www.youtube.com/watch?v="; string nextPageToken = ""; do { string url = configListUrl(playlistName, 50, nextPageToken); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); if (response.StatusCode == HttpStatusCode.OK) { Stream receiveStream = response.GetResponseStream(); StreamReader readStream = null; if (response.CharacterSet == null) { readStream = new StreamReader(receiveStream); } else { readStream = new StreamReader(receiveStream, Encoding.GetEncoding(response.CharacterSet)); } string data = readStream.ReadToEnd(); response.Close(); readStream.Close(); RootObjectPlayList example1Model = new RootObjectPlayList(); example1Model = JsonConvert.DeserializeObject <RootObjectPlayList>(data); listRoot.Add(example1Model); nextPageToken = example1Model.nextPageToken; } } while (!string.IsNullOrEmpty(nextPageToken)); var x = listRoot.SelectMany(a => a.items).ToList(); list = x.Where(a => !a.snippet.title.ToLower().Equals("deleted video") && a.snippet.thumbnails != null).Select(a => new VideoDetails { ImageUrl = a.snippet.thumbnails == null?"": [email protected], Url = insert + a.snippet.resourceId.videoId, VideoID = a.snippet.resourceId.videoId, Titel = a.snippet.title, }).ToList(); var s = JsonConvert.SerializeObject(list); return(list); }
public VideoDetails GetVideoDetail(string videoID) { VideoDetails video = new VideoDetails(); string insert = "https://www.youtube.com/watch?v="; RootObjectPlayList Root = new RootObjectPlayList(); string url = configVideoUrl(videoID); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); if (response.StatusCode == HttpStatusCode.OK) { Stream receiveStream = response.GetResponseStream(); StreamReader readStream = null; if (response.CharacterSet == null) { readStream = new StreamReader(receiveStream); } else { readStream = new StreamReader(receiveStream, Encoding.GetEncoding(response.CharacterSet)); } string data = readStream.ReadToEnd(); response.Close(); readStream.Close(); RootObjectVideo example1Model = new RootObjectVideo(); example1Model = JsonConvert.DeserializeObject <RootObjectVideo>(data); var videoItem = example1Model.items.FirstOrDefault(); if (videoItem != null) { video = new VideoDetails() { ImageUrl = [email protected], Url = insert + videoItem.id, VideoID = videoItem.id, Titel = videoItem.snippet.title }; } } return(video); }