2006/04/16

Youtube Developer API

上級者(開発者)向けの機能です。
Web API(XML-RPC)を用いて、、Youtubeに登録されているいろいろな情報をXML形式で取得できます。
JavaScriptですと、接続に必要なdeveloper_idが公開されてしまうのが痛い所です。

取得可能な情報
・ユーザーのプロフィール
・ユーザーのお気に入りビデオ
・ユーザーの友達リスト

・ビデオの詳細情報
・タグを元にビデオ一覧
【Youtubeを日本語で検索スクリプト】では、この一覧を裏側で使っています。
・ユーザーのビデオ一覧
・Topページに表示されているビデオ一覧

Perlの例
タグ:coolでビデオ一覧を受け取る場合



use Frontier::Client;

# Make an object to represent the XML-RPC server.
$server_url = 'http://www.youtube.com/api2_xmlrpc';

$server = Frontier::Client->new(url => $server_url);

# Call the remote server and get our result.
$arg{"dev_id"}="YOUR_DEV_ID";
$arg{"tag"}="cool";
$arg{"page"}=1;
$arg{"per_page"}=2;

$result = $server->call('youtube.videos.list_by_tag',\%arg );
print $result;


出力結果
<?xml version="1.0" encoding="utf-8"?>
<ut_response status="ok">
<video_list>
<video>
<author /><id>Pj1PlhBPeJI</id><title
>Xbox - Halo - I'm a asshole</title><length_seconds>269</length_seconds><rating_
avg>4.10</rating_avg><rating_count>150</rating_count><description>I did not make
this.</description><view_count>51842</view_count><upload_time>1128662855</uploa
d_time><comment_count>32</comment_count><tags>xbox is cool</tags><url>http://www
.youtube.com/?v=Pj1PlhBPeJI</url><thumbnail_url>http://static13.youtube.com/vi/P
j1PlhBPeJI/2.jpg</thumbnail_url>
</video>
<video>
<author /><id>qg1IttGew20</id><ti
tle>cool video</title><length_seconds>52</length_seconds><rating_avg>1.27</ratin
g_avg><rating_count>34</rating_count><description>best i ever had</description><
view_count>16486</view_count><upload_time>1131428905</upload_time><comment_count
>11</comment_count><tags>ahdian rizal cool</tags><url>http://www.youtube.com/?v=
qg1IttGew20</url><thumbnail_url>http://static13.youtube.com/vi/qg1IttGew20/2.jpg
</thumbnail_url>
</video>
</video_list>
</ut_response>

No comments: