Programmer's Reference Guide

Google Base の使用法

YouTube data API の使用法

YouTube data API は、YouTube のコンテンツを Google data ("GData") 形式のフィードで読み込むためのものです。 この API を使用すると、指定した条件にマッチする動画の一覧を取得したり 人気のある動画の一覧を取得したりといったことができるようになります。 また、YouTube の登録ユーザの公開情報 (たとえばプレイリストや購読内容、コンタクトなど) を取得することもできます。

YouTube data API についての詳細は » YouTube data API のドキュメント を参照ください。

注意: 認証
YouTube data API は、現時点では公開データへの読み取り専用アクセス機能しかありません。 したがって認証は不要です。

動画フィードの取得

YouTube data API はさまざまなフィードを提供しており、 たとえば標準の動画一覧や関連する動画一覧、動画への返信一覧、 アップロードした動画の一覧、お気に入りの動画一覧などを取得することができます。 たとえばアップロードした動画一覧のフィードは、 指定したユーザがアップロードしたすべての動画を返します。 どのようなフィードが取得できるのかについては » リファレンスガイド を参照ください。このセクションで取り上げるすべてのフィードは "動画フィード"、つまり動画の一覧を返すものです。

メタデータによる動画の検索

指定した条件にマッチする動画の一覧を、フィードで取得することができます。 たとえば次のクエリは、メタデータに "cat" という単語を含む動画を探し、 その結果の 10 番目から 1 ページあたり 20 件ずつ表示します。 また、閲覧回数順に表示します。

<?php
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata_YouTube');

$yt = new Zend_Gdata_YouTube();
$query = $yt->newVideoQuery();
$query->videoQuery = 'cat';
$query->startIndex = 10;
$query->maxResults = 20;
$query->orderBy = 'viewCount';

echo $query->queryUrl . "\n";
$videoFeed = $yt->getVideoFeed($query); 

foreach ($videoFeed as $videoEntry) {
  echo "---------動画----------\n";
  echo "タイトル: " . $videoEntry->mediaGroup->title->text . "\n";
  echo "\n説明:\n";
  echo $videoEntry->mediaGroup->description->text;
  echo "\n\n\n";
}
?>

その他のクエリパラメータの詳細は » リファレンスガイド を参照ください。 Zend_Gdata_YouTube_VideoQuery には、 これらのパラメータ用のヘルパー関数もあります。

カテゴリやタグ/キーワードによる動画の検索

カテゴリを指定して動画を検索するには、 » 専用の URL を作成します。たとえば、dog というキーワードを含むコメディーの動画を検索するには次のようにします。

$yt = new Zend_Gdata_YouTube();
$query = $yt->newVideoQuery();
$query->category = 'Comedy/dog';

echo $query->queryUrl . "\n";
$videoFeed = $yt->getVideoFeed($query); 

標準のフィード

YouTube data API が提供する » 標準フィード にはさまざまなものがあります。 これらの標準フィードは、URL を指定することで Zend_Gdata_YouTube_VideoFeed オブジェクトとして取得できます。 しかし、Zend_Gdata_YouTube にはヘルパーメソッドもあります。

評価の高い動画を取得するヘルパーメソッドは次のようになります。

$yt = new Zend_Gdata_YouTube();

$videoFeed = $yt->getTopRatedVideoFeed(); 

取得する標準フィードの期間を指定するクエリパラメータもあります。 これは、標準フィード top_rated および most_viewed でのみ有効です。

たとえば、今日いちばん評価の高い動画を取得するには次のようにします。

$yt = new Zend_Gdata_YouTube();
$query = $yt->newVideoQuery();
$query->setTime('today');
$videoFeed = $yt->getTopRatedVideoFeed($query); 

あるいは、次のように URL を使用してフィードを取得することもできます。

$yt = new Zend_Gdata_YouTube();
$query = $yt->newVideoQuery('http://gdata.youtube.com/feeds/standardfeeds/top_rated');
$query->setTime('today');
$videoFeed = $yt->getVideoFeed($query); 

指定したユーザがアップロードした動画の取得

指定したユーザがアップロードした動画の一覧を取得するヘルパーメソッドもあります。 次の例は、ユーザ 'liz' がアップロードした動画の一覧を取得します。

$yt = new Zend_Gdata_YouTube();
$videoFeed = $yt->getUserUploads('liz'); 

指定したユーザのお気に入り動画の取得

指定したユーザのお気に入り動画の一覧を取得するヘルパーメソッドもあります。 次の例は、ユーザ 'liz' のお気に入り動画の一覧を取得します。

$yt = new Zend_Gdata_YouTube();
$videoFeed = $yt->getUserFavorites('liz'); 

動画に対する返信動画の取得

指定した動画に対する動画の返信の一覧を取得するヘルパーメソッドもあります。 次の例は、ID 'abc123813abc' の動画に対する返信動画を取得します。

$yt = new Zend_Gdata_YouTube();
$videoFeed = $yt->getVideoResponseFeed('abc123813abc'); 

動画のコメントの取得

YouTube の動画に対するコメントを取得するにはいくつかの方法があります。 ID 'abc123813abc' の動画に対するコメントを取得するコードは、次のようになります。

$yt = new Zend_Gdata_YouTube();
$commentFeed = $yt->getVideoCommentFeed('abc123813abc'); 

foreach ($commentFeed as $commentEntry) {
    echo $commentEntry->title->text . "\n";
    echo $commentEntry->content->text . "\n\n\n";
} 

もし既にその動画を表す Zend_Gdata_YouTube_VideoEntry オブジェクトがあるのなら、それを用いてその動画のコメントを取得することもできます。

$yt = new Zend_Gdata_YouTube();
$videoEntry = $yt->getVideoEntry('abc123813abc'); 
// 動画の ID がわからなくても、このようにして URL を取得できます
$commentFeed = $yt->getVideoCommentFeed(null, $videoEntry->comments->href);

プレイリストフィードの取得

YouTube data API を使用すると、 プロファイルやプレイリスト、購読内容といったユーザ情報を取得することができます。

指定したユーザのプレイリストの取得

このライブラリには、指定したユーザのプレイリストを取得するためのヘルパーメソッドがあります。 ユーザ 'liz' のプレイリストを取得するには、次のようにします。

$yt = new Zend_Gdata_YouTube();
$playlistListFeed = $yt->getPlaylistListFeed('liz'); 

foreach ($playlistListFeed as $playlistEntry) {
    echo $playlistEntry->title->text . "\n";
    echo $playlistEntry->description->text . "\n";
    echo $playlistEntry->getPlaylistVideoFeedUrl() . "\n\n\n";
} 

指定したプレイリストの取得

このライブラリには、 指定したプレイリストの動画一覧を取得するヘルパーメソッドがあります。 指定したプレイリストエントリの動画一覧を取得するには、次のようにします。

$playlistVideoFeed = $yt->getPlaylistVideoFeed($playlistEntry->getPlaylistVideoFeedUrl()); 

指定したユーザの購読内容の一覧の取得

ユーザは、チャンネルやタグ、お気に入りなどの内容を購読することができます。 Zend_Gdata_YouTube_SubscriptionEntry を使用して、 それらの購読内容を表します。

ユーザ 'liz' のすべての購読内容を取得するには、次のようにします。

$yt = new Zend_Gdata_YouTube();
$subscriptionFeed = $yt->getSubscriptionFeed('liz'); 

foreach ($subscriptionFeed as $subscriptionEntry) {
    echo $subscriptionEntry->title->text . "\n";
} 

ユーザのプロファイルの取得

任意の YouTube ユーザの公開プロファイル情報を取得することができます。 ユーザ 'liz' のプロファイルを取得するには、次のようにします。

$yt = new Zend_Gdata_YouTube();
$userProfile = $yt->getUserProfile('liz'); 
echo "ユーザ名: " . $userProfile->username->text . "\n";
echo "年齢: " . $userProfile->age->text . "\n";
echo "出身地: " . $userProfile->hometown->text . "\n"; 

Google Base の使用法
blog comments powered by Disqus

Select a Version

Languages Available

Components

Search the Manual