Youtube動画を検索するYoutube data APIを使ってみる

iPhoneアプリでYoutube動画を検索する方法を
調べてみましたが、意外と簡単な方法でできることがわかりました。

動画検索にはYouTube Data APIを使うのですが、
アドレスを指定するだけで検索できます。
こんな感じのURLを書くだけです。

http://gdata.youtube.com/feeds/api/videos?vq=検索キーワード

簡単に実行するにはブラウザのアドレス欄にこれを書いて表示するだけで
検索結果が表示されます。
「検索キーワード」の部分を好きな単語に書き換えて検索できます。

上のアドレスでそのままFirefoxのアドレス欄に入力して検索すると
こんな風に結果が表示されました。

YoutubeDataAPI

YoutubeDataAPI結果

パソコンのブラウザで検索すると日本語の全角文字でも
検索結果がちゃんと表示されますがiPhoneアプリで全角文字を使って
動画検索をしようとするとちゃんと検索されませんでした。

iPhoneアプリから検索するときは全角文字を
URI形式に変換してから検索しないとダメみたいです。
全角文字をURI形式に変換するにはencodeURIComponent()を
使えば大丈夫そうです。

それでencodeURIComponent()をどうやって使うかを調べてみたら
どうやらJavascriptのコードみたいで、そのままではXcodeで
使えませんでした。

Xcodeで日本語全角文字をURI形式にエンコードするには
stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding
を使います。使い方はこんな感じです。

■サンプルコード

//検索キーワード
NSString *searchValue = @"猫";
NSString *searchValue_after = [searchValue stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"searchValue_after : %@",searchValueAPI_after);

■表示結果

searchValueAPI_after : %E7%8C%AB

YouTube Data APIでは検索結果を
atom、rss、json、json-in-scriptのフォーマットから選べます。
デフォルトではatomになります。

atomやrssフォーマットならRSSリーダーのサンプルコードを
応用することでアプリに表示できそうです。

■参考にしたサイト
YouTube Data APIで取得可能なフィード

デベロッパー ガイド: Data API プロトコル 動画の取得と検索

タイトルとURLをコピーしました