public static async Task <YouTubeDataFeed> getYouTubeData(string url) { string content = await MakeWebRequestAsync(url); YouTubeDataFeed list = JsonConvert.DeserializeObject <YouTubeDataFeed>(content); return(list); }
public static async Task <List <Video> > getRelatedVideos(string videoID) { List <Video> v = new List <Video>(); /*try * {*/ YouTubeDataFeed listV = await getYouTubeData(string.Format("http://gdata.youtube.com/feeds/api/videos/{0}/related?v=2{1}&alt=json", videoID, safeSearch())); foreach (Entry e in listV.feed.entry) { Video video = new Video(); video.title = e.title.t; video.videoId = e.mediagroup.ytvideoid.t; video.description = CortarString(e.mediagroup.mediadescription.t, 150).Replace("\n", ""); video.fullDescription = e.content.t; video.autor = e.author[0].name.t; video.Username = e.author[0].ytuserId.t; video.visualizations = e.ytstatistics == null ? "" : string.Format("{0:N0}", int.Parse(e.ytstatistics.viewCount)); video.PlayerUrl = e.content.src; if (e.mediagroup.mediacontent != null) { foreach (MediaContent c in e.mediagroup.mediacontent) { TimeSpan t = TimeSpan.FromSeconds(c.duration); video.duration = string.Format("{0:D2}:{1:D2}", t.Minutes, t.Seconds); video.mediaUrl = c.url; break; } } video.image = new BitmapImage(new System.Uri(e.mediagroup.mediathumbnail[1].url)); video.FullContent = video; v.Add(video); } return(v); /*} * catch { /*showMessageDialog(GlobalError); return new List<Video>(); }*/ }