Mert Sarac

Developer, Entrepreneur, Geek

C# ile YouTube API üzerinden kanaldaki videoları çekmek

Merhaba,

Diyelim ki bir web siteniz var. Burada videolarınızı da yayınlıyorsunuz ancak hem trafik yükünü devretmek hem de sağlam bir playerda çalışması adına bunları YouTube’da barındırmaya karar verdiniz. Bu aşamada kanalınızdaki videoları sitenizde listelemek için YouTube API’dan yararlanabilirsiniz.

Aslında paylaşacağım kodun kullanımı son derece kolay. Herhangi bir yere kayıt olup API key dahi almanız gerekmiyor. Sadece aşağıdaki kodun username parametresini değiştirin ve foreach içinde kendi HTML kodunuzu üretin. Aynı zamanda Index parametresi sayesinde sayfalama da yapabilirsiniz.


string YouTubeUsername = "KULLANICI_ADINIZ_BURAYA_GELECEK";
int Index = 1;

var feed = XElement.Load(String.Format("https://gdata.youtube.com/feeds/api/users/{1}/uploads?start-index={0}&max-results=8&orderby=published", Index, YouTubeUsername));

                    XNamespace ns = "http://www.w3.org/2005/Atom";
                    XNamespace media = "http://search.yahoo.com/mrss/";
                    if (feed != null)
                    {
                        var entries = from entry in feed.Descendants(ns + "entry")
                                      select new
                                      {
                                          Title = entry.Element(ns + "title").Value,
                                          Id = entry.Element(ns + "id").Value,
                                          PostedDate = DateTime.Parse(entry.Element(ns + "published").Value),
                                          Description = entry.Element(ns + "content").Value,
                                          MovieUrl = (from el in entry.Elements(media + "group").Elements(media + "content")
                                                      where el.Attribute("type").Value == "application/x-shockwave-flash"
                                                      select el.Attribute("url").Value).First(),
                                          ThumbnailUrl = (from el in entry.Elements(media + "group").Elements(media + "thumbnail")
                                                          select el.Attribute("url").Value).First()
                                      };
                        foreach (var node in entries)
                        {
                            string VideoId = node.Id.Split('/')[node.Id.Split('/').Length - 1];

                            // HTML Kodunuzu burada üretebilirsiniz.
                        }
                    }


Mert Sarac

Mert Sarac

2015 başından beri Neurolize'da Yazılım Geliştirme Uzmanı görevini yürütüyor, Cloud Processing, BCI, Big Data Analysis ve Nöropazarlama teknolojileri üzerine çalışıyorum. 2013 - 2015 yılları arasında Rhino Runner Dijital Medya Ajansı'nda Kıdemli Yazılım Geliştirme Uzmanı görevinde sosyal medya uygulamaları, web siteleri, outdoor projeler, SharePoint İş Uygulamaları ve Windows Phone uygulamaları geliştirdim. 2009 - 2013 yılları arasında da Yemeksepeti'nde Yazılım Geliştirici ve Yazılım Test Uzmanı görevlerinde çalıştım. Eğitimim Kadir Has Üniversitesi ve Anadolu Üniversitesi'nde devam etmekte. .NET Framework, Mobil Uygulamalar, Silverlight, Office 365, ASP.NET, SharePoint ve Windows Azure ile yakından ilgileniyor olsam da elektroniğe, karikatürlere, bilim belgesellerine ve Rusça öğrenmeye özel bir ilgim var. Boş kaldıkça Rusça öğrenmeye çalışıyor, Intel Galileo ve Arduino ile IoT projeleri geliştirmeye çalışıyorum.

Yorum