using Google.GData.Client; using Google.GData.Extensions;
//by tag //feel free to change number of items, by there is a limit of 50, I believe. //If you want to retreive more, you have to do a loop (retrieve 1-50, then 51 to 100, etc) protected void btoGo_Click(object sender, EventArgs e) { string url = "http://gdata.youtube.com/feeds/videos/-/" + this.txtTag.Text; AtomFeed myFeed = GetFeed(url, 1, 20); DisplayFeed(myFeed); } //by search //feel free to change number of items, by there is a limit of 50, I believe. //If you want to retreive more, you have to do a loop (retrieve 1-50, then 51 to 100, etc) protected void btoSearch_Click(object sender, EventArgs e) { string url = "http://gdata.youtube.com/feeds/videos?q=" + this.txtSearch.Text; AtomFeed myFeed = GetFeed(url, 1, 15); DisplayFeed(myFeed); }
/// /// Create and returns and Google.GData.Client.AtomFee from url with the specific start and number of items /// /// /// /// /// private static AtomFeed GetFeed(string url, int start, int number) { System.Diagnostics.Trace.Write("Conectando youtube at " + url); FeedQuery query = new FeedQuery(""); Service service = new Service("youtube", "exampleCo"); query.Uri = new Uri(url); query.StartIndex = start; query.NumberToRetrieve = number; AtomFeed myFeed = service.Query(query); return myFeed; } /// /// Renders feed in example aspx page /// /// private void DisplayFeed(AtomFeed myFeed) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); foreach (AtomEntry entry in myFeed.Entries) { #region render each sb.Append("Title: "); sb.Append(entry.Title.Text); sb.Append("Categories: "); foreach (AtomCategory cat in entry.Categories) { sb.Append(cat.Term); sb.Append(","); } sb.Append(RenderVideoEmbedded(getIDSimple(entry.Id.AbsoluteUri))); sb.Append("Published on: "); sb.Append(entry.Published); #endregion } this.lblResults.Text = sb.ToString(); } private string RenderVideoEmbedded(string idSimple) { return string.Format("", idSimple); }
Remember Me
a@href@title, b, em, i, strike, strong