Googleは YouTube SDK for .NET(MSI)をリリースした。これは.NETやASP.NETアプリケーションからYouTubeにアクセスすることに関心のある人のためのものだ。
このSDKには、YouTube APIのCHMヘルプファイル、Visual Studio 2008用テンプレート、APIを使ってできることをデモした複数のサンプルアプリケーションが含まれている。サンプルアプリケーションとしては、ビデオファイルをYouTubeにアップロードするツールや、YouTubeがサポートしているAuthSubという認可サービスを使ったASP.NETの小さなWebサイト、選択したユーザのYouTubeアクティビティを通知するアプリケーションが含まれる。
YouTube APIはGoogleのGDataプロトコル(MSI)上に構築されており、Google.GData.YouTube
という名前空間に含まれるデータクラスを提供している。GDataはWebコミュニケーションのためのオープンソースプロトコルであり、Blogger、Calendar、Picasa、YouTubeなど、Googleの数多くのサービスで広く使われている。
以下のサンプルコードはSDKのヘルプファイルから引用したものであり、YouTubeにアクセスするときのLINQの連鎖したwhere節の使い方を示している。
YouTubeRequestSettings settings = new YouTubeRequestSettings("NETUnittests", YTCLIENTID, YTDEVKEY); YouTubeRequest f = new YouTubeRequest(settings); settings.AutoPaging = true; settings.Maximum = 200; //only 75 come back but that is a feature Feed<Video> sfeed = f.GetStandardFeed(YouTubeQuery.MostPopular); //put the entire list into a list. var entries = sfeed.Entries.ToList(); var oneHunderTitles = from e in entries where e.ViewCount > 100 where e.Rating > 2 where e.Updated < new DateTime(2008, 12, 4) orderby e.Rating descending orderby e.Title select e; foreach (var item in oneHunderTitles) { Console.WriteLine(item.Title); } //here is an inline orderby on title as a lambda foreach (var item in entries.OrderBy(i => i.Title)) { Console.WriteLine(item.Title); } Console.WriteLine(sfeed.Entries.Count());