Youtube Video Bilgilerini Almak
7
●1.210
- 01-04-2013, 00:20:54arkadaşlar bazı sitelerde var ya youtube video adresini giriyorsunuz hemen altında girdiğiniz videonun küçük bir resmi ve bilgileri görünüyor (adı vs). bunu youtube api ile mi yapıyorlar yoksa başka yolu var mıdır bilen var mı acaba ?
- 01-04-2013, 01:09:56daha önce youtube apisi ile bir kaç yazılım geliştirdim ve hala yarım bir projem var
neyse evet dediğin küçük resim thumnail onun adres bilgisini alıyorsun, hatırladığım kadarıyla 2 tane farklı boyut thumnail için adres veriyordu.. ve videonun türünü, dakikasını, upload edeni v.s. alabiliyorsun. bunun için api nin desteği var. bir sürü api sistemi kullandım, en kapsamı olarak youtube apiyi gördüm. adamlar versiyon da çıkartıyorlar. en son 3 vardı sanırım. ben 2.0 kullanıyordum..
kısacası bahsettiğin şeyi youtube apisiyle yapman lazım. hiç uğraşmamışsan bu apilerle işin biraz zor olabilir. önce bir developer hesabı açıp developer key/id alman gerek sonra da uygulamanı kayıt ettirmen lazım sonra uygulama her çalıştığnda bir access token alıp sunucuyla handshake yapman gerek ondan sonra da api nin fonksiyonlarını çağırabilirsin.. - 01-04-2013, 10:55:53anladım, peki ben bunu bir web sitesine monte etmek istiyorum birçok kişi girip buradan video bilgilerini çekicek bunun bir sakıncası var mı ?ertan2002 adlı üyeden alıntı: mesajı görüntüle
- 01-04-2013, 11:31:08hayır ne gibi sıkıntı çıkacak ki
her şey yasal ve sıkıntısız, çünkü api yi yayınlayan youtube..
https://developers.google.com/youtube/
burada sol tarafta youtube data api documentation var, orada 2 ve 3. versiyonlar var, hangisini kullanmak istiyorsan onu seçebilirsin ve ilgili dökümanlara ulaşabilirsin.
ben masaüstü için uğraşmıştım (.net tarafında) hazır yazılmış classlarda var, sen get-post göndermeyle uğraşmıyorsun, ilgili kütüphanedeki fonksiyonları çağırman yetiyor.. tüm bilgiler IEnumerable türüyle geliyor, kolayca sorgulamalar v.s. yapabiliyorsun.. bunla ilgili örnekleri github gibi açık kaynak paylaşım sitelerinde bulabilirsin - 01-04-2013, 23:58:37
protected void imgbtnGetVideo_Click(object sender, ImageClickEventArgs e) { YouTubeRequestSettings settings = new YouTubeRequestSettings("Sinema Burda", ""); YouTubeRequest request = new YouTubeRequest(settings); Feed<Video> videoFeed = request.Get<Video>(new Uri("http://gdata.youtube.com/feeds/projection/videos?v=")); printVideoFeed(videoFeed); } public void printVideoFeed(Feed<Video> feed) { foreach (Video entry in feed.Entries) { printVideoEntry(entry); } } public void printVideoEntry(Video video) { Console.WriteLine("Title: " + video.Title); Console.WriteLine(video.Description); Console.WriteLine("Keywords: " + video.Keywords); Console.WriteLine("Uploaded by: " + video.Uploader); if (video.YouTubeEntry.Location != null) { Console.WriteLine("Latitude: " + video.YouTubeEntry.Location.Latitude); Console.WriteLine("Longitude: " + video.YouTubeEntry.Location.Longitude); } if (video.Media != null && video.Media.Rating != null) { Console.WriteLine("Restricted in: " + video.Media.Rating.Country); } if (video.IsDraft) { Console.WriteLine("Video is not live."); string stateName = video.Status.Name; if (stateName == "processing") { Console.WriteLine("Video is still being processed."); } else if (stateName == "rejected") { Console.Write("Video has been rejected because: "); Console.WriteLine(video.Status.Value); Console.Write("For help visit: "); Console.WriteLine(video.Status.Help); } else if (stateName == "failed") { Console.Write("Video failed uploading because:"); Console.WriteLine(video.Status.Value); Console.Write("For help visit: "); Console.WriteLine(video.Status.Help); } if (video.ReadOnly == false) { Console.WriteLine("Video is editable by the current user."); } if (video.RatingAverage != -1) { Console.WriteLine("Average rating: " + video.RatingAverage); } if (video.ViewCount != -1) { Console.WriteLine("View count: " + video.ViewCount); } Console.WriteLine("Thumbnails:"); foreach (MediaThumbnail thumbnail in video.Thumbnails) { Console.WriteLine("\tThumbnail URL: " + thumbnail.Url); Console.WriteLine("\tThumbnail time index: " + thumbnail.Time); } Console.WriteLine("Media:"); foreach (Google.GData.YouTube.MediaContent mediaContent in video.Contents) { Console.WriteLine("\tMedia Location: " + mediaContent.Url); Console.WriteLine("\tMedia Type: " + mediaContent.Format); Console.WriteLine("\tDuration: " + mediaContent.Duration); } } }şimdi yukarıdaki şekilde bir kod yazdım. api keyi aldım koda koymuştum ama buraya koyarken kaldırdım. şimdi
Feed<Video> videoFeed = request.Get<Video>(new Uri("http://gdata.youtube.com/feeds/projection/videos?v="));satırını nasıl kullanıcam ? yani elimde bir videonun link i var
youtube.com/watch?v=xBOTnqVmYjQ
bu video bilgilerini nasıl alıcam acaba ? - 02-04-2013, 00:36:26ben farklı şekilde yapmışım.. ama sen şu linki kullanabilirsin
https://gdata.youtube.com/feeds/api/...ENİN_VIDEO_ID
Ayrıntılar için buraya bakabilirsin
https://developers.google.com/youtub...ideo_Responses
https://developers.google.com/youtub...ve_video_entry - 02-04-2013, 08:06:13arkadaşım çok sağol walla, yani gdata.youtube.com/feeds/api/videos/SENİN_VIDEO_ID bunu bir sürü farklı yolla denedim sonuna = falan koydum olmadı meğer böyle yapılıyormuş. ellerine sağlıkertan2002 adlı üyeden alıntı: mesajı görüntüle
neyse evet dediğin küçük resim thumnail onun adres bilgisini alıyorsun, hatırladığım kadarıyla 2 tane farklı boyut thumnail için adres veriyordu.. ve videonun türünü, dakikasını, upload edeni v.s. alabiliyorsun. bunun için api nin desteği var. bir sürü api sistemi kullandım, en kapsamı olarak youtube apiyi gördüm. adamlar versiyon da çıkartıyorlar. en son 3 vardı sanırım. ben 2.0 kullanıyordum..