Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

C#からYouTube APIを使って動画情報を取得する

C#でYouTube APIのラッパークラスを作成する

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2007/04/23 08:00

YouTubeでは動画情報を取得できるAPIを公開しています。C#でYouTube APIのラッパークラスを作成しておけば、簡単にYouTubeの動画情報が利用できるようになります。

目次

はじめに

 動画共有サイトのYouTubeが公開しているAPIを利用しやすくするために、C#のラッパークラスを作成します。

YouTube API

 YouTubeが公開しているAPIについては、下記を参照してください。

対象読者

  • C#およびネットワークプログラミングが分かる。
  • ウェブサービスを利用したマッシュアップに興味がある。

YouTubeのAPIの分析

 YouTubeが提供するAPIは以下のものがあります。

  • get_profile
  • list_favorite_videos
  • list_friends
  • get_detail
  • list_by_tag
  • list_by_user
  • list_featured
  • list_by_related
  • list_by_playlist
  • list_popular
  • list_by_category_and_tag

 それぞれのAPIによって取得できるXMLのデータの種類はいくつかあります。取得できるXMLのデータには共通部分があります。例えばレスポンス情報を格納するurl_responseタグは全ての種類のXMLデータに含まれています。

 添付したファイルの中にAPI・「list_featured」を呼び出した際に取得できるXMLデータをテキストファイルに出力したものがあります(YouTubeSimple.txtファイル)。

 このファイルの中から開発者にとって有用な部分を取り出すと

<video>
  <author>SteveAgee</author>
  <id>oc9q1H6Y6QM</id>
  <title>VIDEO BLOG #2 - HATS</title>
  <length_seconds>99</length_seconds>
  <rating_avg>3.00</rating_avg>
  <rating_count>58</rating_count>
  <description>a blog about my hats.  have fun</description>
  <view_count>653</view_count>
  <upload_time>1163973051</upload_time>
  <comment_count>42</comment_count>
  <tags>hats video blog steve agee stupid waste</tags>
  <url>http://www.youtube.com/?v=oc9q1H6Y6QM</url>
  <thumbnail_url>
    http://sjc-static12.sjc.youtube.com/vi/oc9q1H6Y6QM/2.jpg
  </thumbnail_url>
  <embed_status>ok</embed_status>
</video>

 の部分となります。

 APIの中には同じデータが取得できるものもあり(例えば、list_featuredとlist_popular)、全てのAPIについて分類すると4種類になります。ここでは、「UserProfileRecord」「FriendRecord」「ListRecord」「DetailRecord」というように命名します。また、それぞれに含まれる属性は以下の図のようになります。

APIと結果セット
APIと結果セット

 APIと取得できるデータの種類の対応は次のとおりです。

APIと結果セット
APIと結果セット

 これらの結果セットのうち、例としてlist_featuredとget_detailの結果セットをDataSetに読み込んだ場合のDataSetスキーマ図を以下に示します。

list_featured
list_featured
get_detail
get_detail

 Visual Studioを持っているのであれば、ウォッチウィンドウを利用するとスキーマを調べやすいと思います。

list_featuredを呼び出したときのDataSet内の各値をウォッチウィンドウで表示
list_featuredを呼び出したときのDataSet内の各値をウォッチウィンドウで表示

 今回の記事ではlist_featuredを利用したときを例にして説明をしていきます。


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5