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());