YouTube API 動画検索を少し調べてみました。 DATA APIでいろいろ情報を取得できるようです。 詳細はリファレンスガイドで書かれています。 検索では、
http://gdata.youtube.com/feeds/api/videos?q=検索文字列
でFeedをとってこれます。 C#で書いてみました。
public static string searchMovieFirst(List<SyndicationItem> items, string searchKey) { string encodedString = HttpUtility.UrlEncode(searchKey, Encoding.GetEncoding("UTF-8")); string uri = "http://gdata.youtube.com/feeds/api/videos?q=" + encodedString + "&orderby=published&max-results=10&start-index=1&v=2"; return searchMovieNext(items, uri); } public static string searchMovieNext(List<SyndicationItem> items, string nextUri) { String retp = ""; using (XmlReader rdr = XmlReader.Create(nextUri)) { SyndicationFeed feed = SyndicationFeed.Load(rdr); items.AddRange(feed.Items); foreach (SyndicationLink link in feed.Links) { if (link.RelationshipType == "next") { retp = link.Uri.ToString(); break; } } } return retp; }
こんな感じで作ってみました。 実際に検索してみましたが、合計1000件までしか取得できませんでした。 YouTube API での 動画検索は1000件まで見たいです。(YouTube APIのFAQに乗ってました。実際の画面でも検索結果の数に関係なく1000件でした。) もっと絞り込むためのキーワードを入れる必要があるってことみたいです。