アンケートに答える (英語) | 日本語 | サイト ディレクトリ
注意: 一部のページは英語でのみご利用いただけます。

移行ガイド

このドキュメントは、Google Data プロトコルに基づいて YouTube API を見直した最新のものです。このドキュメントは、ご自身のウェブサイトやアプリケーションを、新しい YouTube API に移行するデベロッパーを支援する目的で作成されました。

目次

はじめに

概要

YouTube は、インターネットで最も人気の高いオンライン動画サイトです。2005 年に原型となる REST/XML-RPC API をリリースして以来、数多くのデベロッパーが YouTube の動画を広め、世界中のユーザーが動画をアップロードするようになりました。YouTube がより成熟した今、強固なフル装備の API をデベロッパー向けにご用意しました。新しい API は、既存の Google Data プロトコルを標準としています。この動きには、より高い拡張性やより充実したデベロッパー リソース など、さまざまな理由があります。このドキュメントでは、新しい API 、およびご自身のウェブサイトやアプリケーションを移行するために必要なことについて知ることができます。リファレンス ガイドデベロッパー向けガイドも、非常に役立つリソースです。

アップグレードが必要な条件

レガシー API を使用している方は、Google Data ベースの API にアップグレードしてください。レガシー API には新機能が組み込まれませんし、重大なバグ以外は対処されなくなります。

アップグレードのタイムラインとは

レガシー API は、2008 年 8 月 30 日までは利用可能ですが、その後の保証はされません。レガシー API に関する問題への対処が後回しになる前に、できるだけ早くアップグレードすることをお勧めします。

レガシー API と新しい API の違い

以下の表は、両 API の共通操作の違いを示していますが、完全なものではありません。詳しくはリファレンス ガイドをご覧ください。

動画フィード

操作 レガシー API YouTube Data API 注記/コメント
YouTube で検索 videos.list_by_tag&tag="SEARCH TERMS" /feeds/api/videos?vq="SEARCH TERMS"
  • レガシー API は関連度による検索結果を返します。
  • 新しい API には、関連度、アップロードされた時間、評価、再生回数などで結果をソートできるフィルタが用意されています。
  • 特定のカテゴリで検索 videos.list_by_category_and_tag&tag="SEARCH TERMS"&category_id=CATEGORY_ID /feeds/api/videos/-/CATEGORY_NAME
  • レガシー API では、動画のカテゴリ一覧が制限されています。
  • 新しいカテゴリ フィードでは、動画のカテゴリ一覧を無制限にサポートします。また、同じカテゴリが複数存在しないよう制限できます。
  • 動画のメタデータを取得 videos.get_details&video_id=VIDEO_ID /feeds/api/videos/VIDEO_ID
    動画の動画レスポンスを取得 非対応 /feeds/api/videos/VIDEO_ID/responses
    動画のコメントを取得 videos.get_details&video_id=VIDEO_ID /feeds/api/VIDEO_ID/comments
  • レガシー API は、get_details を使用して 10 件のコメントを返します。
  • 新しい API では、すべてのコメントが親子関係を保持したまま返されます。
  • YouTube Data API では、まだデベロッパー ID が必要ありませんが、レガシー API については、どの API を呼び出す場合でも必要です。パラメータやフィルタの形での追加機能については、以降で説明します。

    レガシー API と新しい API のどちらでも、ページングができます。新しいページング パラメータは以下のとおりです。

    • start-index - どのエントリから結果をリストするか示します。これは、レガシー API の page パラメータ (表示する結果のページを示す) に対応するものではありません
    • max-results - 表示する最大数を示します。これは、レガシー API の per_page パラメータに対応するものです。

    たとえば、1000 の結果のうち一度には 50 を解析する場合、最初の start-index は 1 で、max-results は 50 になります。次の反復で、start-indexstart-index + max-results の 51 になります。レガシー API では、page パラメータは 1 で始まり、per_page は 50 です。その後のすべての反復で、page パラメータは 2 などと増加していきます。

    YouTube Data API では、以下のクエリ パラメータがサポートされるようになりました。

    • vq - 全文検索クエリ (動画タイトル、説明、タグといったコンテンツを検索) を示します。
    • format - 特定の形式の動画のみを検索 (たとえば、format=0 は Flash です。この形式は、すべての動画で使用できます)。使用できる形式については、リファレンス ガイドをご覧ください。
    • alt - 出力形式を制御します (RSS、Atom、JSON)。詳しくは http://code.google.com/intl/ja/apis/gdata/reference.html#Queries をご覧ください。
    • author - 特定の YouTube ユーザーがアップロードした動画で検索を絞り込みます。詳しくは http://code.google.com/intl/ja/apis/gdata/reference.html#Queries をご覧ください。
    • orderby - アイテムが返される順番を示します (relevance (デフォルト)、publishedviewCount、または rating)。
    • racy - コミュニティがフラグを設定した制限付きコンテンツを含めるには racy=include を追加します。デフォルトは exclude です。

    「monkey」という単語に関連する動画を、レガシー API と YouTube Data API で、ページング機能を使用して検索した結果は、それぞれ次のとおりです。

    http://www.youtube.com/api2_rest?method=youtube.videos.list_by_tag&dev_id=DEV_ID&tag=monkey&page=1&per_page=50
    http://gdata.youtube.com/feeds/api/videos?vq=monkey&start-index=1&max-results=50

    リクエストされてきた機能として、動画フィードを最も新しいものから順にソートする機能があります。YouTube Data API では、パラメータとして orderby=published を追加することでこのタイプの検索が可能です。

    http://gdata.youtube.com/feeds/api/videos?vq=monkey&orderby=published&start-index=1&max-results=50

    ユーザー フィード

    操作 レガシー API YouTube Data API 注記/コメント
    ユーザーのプロファイルを取得 users.get_profile&user=USERNAME /feeds/api/users/USERNAME
    ユーザーの動画を取得 videos.list_by_user&user=USERNAME /feeds/api/users/USERNAME/uploads
    ユーザーのお気に入りを取得 users.list_favorite_videos&user=USERNAME /feeds/api/users/USERNAME/favorites
  • レガシー API は、ユーザーのお気に入りを最大 10 件返します。
  • 新しい API は、ページング機能を使用してユーザーのお気に入りをすべて返します。
  • ユーザーの再生リストを取得 非対応 /feeds/api/users/USERNAME/playlists
  • レガシー API は、get_details を使用して 10 件のコメントを返します。
  • 新しい API では、すべてのコメントが親子関係を保持したまま返されます。
  • ユーザーの登録チャンネルを取得 非対応 /feeds/api/users/USERNAME/subscriptions

    レガシー API と新しい API を使用した、特定のユーザーの動画一覧は以下のとおりです。

    http://www.youtube.com/api2_rest?method=youtube.videos.list_by_user&dev_id=DEV_ID&user=USERNAME
    http://gdata.youtube.com/feeds/api/users/USERNAME/uploads

    新しい動画フィードに適用されるフィルタの多くは、ユーザー フィードにも適用できます。たとえば、ユーザーがアップロードした動画からテキスト検索が実行できます。

    http://gdata.youtube.com/feeds/api/users/USERNAME/uploads?vq="dogs on bicycles"

    各フィードに適用されるクエリ パラメータについて、詳しくはリファレンス ガイドをご覧ください。

    再生リスト フィード

    操作 レガシー API YouTube Data API 注記/コメント
    再生リスト内の動画を取得 videos.list_by_playlist&id=PLAYLIST_ID /feeds/api/playlists/PLAYLIST_ID
    ユーザーの再生リストを取得 N/A /feeds/api/users/USERNAME/playlists

    レガシー API を使用した、特定の再生リストにある動画の一覧は以下のとおりです。

    http://youtube.com/dev_api_ref?m=youtube.videos.list_by_playlist&dev_id=DEV_ID&id=PLAYLIST_ID

    YouTube Data API を使用すると、次のようになります。

    http://gdata.youtube.com/feeds/api/playlists/PLAYLIST_ID

    各フィードに適用されるクエリ パラメータについて、詳しくはリファレンス ガイドをご覧ください。

    今後の予定

    Google では、アップロードやその他の書き込みコールの追加を含む新機能など、新しい Google Data ベースの API の開発を続けています。その他の機能についての要求やバグ レポートは、Google Data issue tracker に提出してください。Google データ API の Client Libraries にも YouTube API のサポートを追加しています。Java はすでにサポートされていますが、PHP や Python が順次サポートされる予定です。ご不明な点があれば、ディスカッション フォーラムに投稿してください。それでは、コーディングをお楽しみください。

    トップへ戻る