「YouTube API」の編集履歴(バックアップ)一覧はこちら

YouTube API」(2009/12/07 (月) 04:00:41) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

http://code.google.com/intl/ja-JP/apis/youtube/reference.html たとえば、動画IDがxxxxxxxxの動画の情報を得るには "http://gdata.youtube.com/feeds/api/videos/xxxxxxxx" というURLを ブラウザで開けばよく、この動画に関するXMLファイルのDLが始まります。 同じように、xxxxというユーザのプレイリスト一覧を得るには "http://gdata.youtube.com/feeds/api/users/xxxx/playlists" というURLを 開けばよく、各 entry のなかの gd:feedlink ノードのurlを使うと 各プレイリストの動画一覧が得られます。 まあ、一度に取得できる動画エントリ数の上限とか、取得範囲の指定とか 細かいことは端折ります。 例: http://gdata.youtube.com/feeds/api/videos?vq=melty&orderby=published&start-index=1&max-results=50 上のリクエストで得られたXMLからタイトル一覧を作る: #codehighlight(xml){{ <?xml version="1.0" encoding="Shift_JIS" ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:a="http://www.w3.org/2005/Atom"> <xsl:output method="html" encoding="Shift_JIS"/> <xsl:template match="/a:feed"> <ol> <xsl:apply-templates select="a:entry"/> </ol> </xsl:template> <xsl:template match="a:entry"> <li> <xsl:value-of select="a:title"/> </li> </xsl:template> </xsl:stylesheet> }} デフォルトのnamespaceはAtomなので、てきとうにxmlns:aとかつけとく。 大体同じことをするJavaScript: #codehighlight(html){{ <html> <head> <script type="text/javascript"> load_data = function(q){ var opt = "vq=" + q + "&orderby=published&start-index=1&max-results=50"; var i; var xdoc = new ActiveXObject("Microsoft.XMLDOM"); xdoc.async = false; xdoc.load("http://gdata.youtube.com/feeds/api/videos?" + opt); var nodes = xdoc.getElementsByTagName("feed/entry/title"); document.form1.result.value = ""; for(i = 0; i < nodes.length; i++){ document.form1.result.value += "** " + nodes[i].firstChild.nodeValue + "\n\n"; } } </script> </head> <body> <form name="form1" onSubmit="return false"> <p> query: <input type="text" name="query" size="35" value="melty"> <input type="button" value="Run" onclick="load_data(document.form1.query.value)"> </p> <textarea name="result" rows="15" cols="80"></textarea> </form> </body> </html> }} ----
http://code.google.com/intl/ja-JP/apis/youtube/reference.html たとえば、動画IDがxxxxxxxxの動画の情報を得るには "http://gdata.youtube.com/feeds/api/videos/xxxxxxxx" というURLを ブラウザで開けばよく、この動画に関するXMLファイルのDLが始まります。 同じように、xxxxというユーザのプレイリスト一覧を得るには "http://gdata.youtube.com/feeds/api/users/xxxx/playlists" というURLを 開けばよく、各 entry のなかの gd:feedlink ノードのurlを使うと 各プレイリストの動画一覧が得られます。 まあ、一度に取得できる動画エントリ数の上限とか、取得範囲の指定とか 細かいことは端折ります。大体この辺↓ http://code.google.com/intl/ja-JP/apis/youtube/reference.html#Query_parameter_definitions 例: http://gdata.youtube.com/feeds/api/videos?vq=melty&orderby=published&start-index=1&max-results=50 上のリクエストで得られたXMLからタイトル一覧を作る: #codehighlight(xml){{ <?xml version="1.0" encoding="Shift_JIS" ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:a="http://www.w3.org/2005/Atom"> <xsl:output method="html" encoding="Shift_JIS"/> <xsl:template match="/a:feed"> <ol> <xsl:apply-templates select="a:entry"/> </ol> </xsl:template> <xsl:template match="a:entry"> <li> <xsl:value-of select="a:title"/> </li> </xsl:template> </xsl:stylesheet> }} デフォルトのnamespaceはAtomなので、てきとうにxmlns:aとかつけとく。 大体同じことをするJavaScript: #codehighlight(html){{ <html> <head> <script type="text/javascript"> load_data = function(q){ var opt = "vq=" + q + "&orderby=published&start-index=1&max-results=50"; var i; var xdoc = new ActiveXObject("Microsoft.XMLDOM"); xdoc.async = false; xdoc.load("http://gdata.youtube.com/feeds/api/videos?" + opt); var nodes = xdoc.getElementsByTagName("feed/entry/title"); document.form1.result.value = ""; for(i = 0; i < nodes.length; i++){ document.form1.result.value += "** " + nodes[i].firstChild.nodeValue + "\n\n"; } } </script> </head> <body> <form name="form1" onSubmit="return false"> <p> query: <input type="text" name="query" size="35" value="melty"> <input type="button" value="Run" onclick="load_data(document.form1.query.value)"> </p> <textarea name="result" rows="15" cols="80"></textarea> </form> </body> </html> }} ----

表示オプション

横に並べて表示:
変化行の前後のみ表示: