Programmer's Reference Guide

Using Google Base

Utiliser l'API YouTube

L'API YouTube permet un accès en lecture au contenu Youtube sous forme de flux Google "Gdata". Ceci peut être des listes selon critères, des vidéos populaires, ou encore un accès aux informations publiques des membres de Youtube, comme les playlists ou les contacts.

Pour plus d'informations sur l'API de Youtube, » consultez sa documentation.

Note: Authentification
L'API est ouverte en lecture et ne nécessite pas d'authentification.

Retrieving video feeds

L'API YouTube retourne de nombreux flux représentants des listes de vidéo, des réponses vidéos, des vidéos favorites, ou encore les vidéos d'un utilisateur. Voyez le » guide de référence pour plus de détail sur les listes de tous les flux. Tous ces flux sont des flux de vidéos, ils retournent tous des informations sur des vidéos.

Chercher des vidéos par metadonnées

Il est possible de récupérer un flux de vidéos en effectuant une recherche par critères sur les métadonnées des vidéos. L'exemple suivant montre comment récupérer les informations des vidéos dont les métadonnées contiennent le mot "cat", en commençant à la 10ème vidéo, et en en listant 20 par page. La liste est ordonnée selon le nombres de visibilités des vidéos :

<?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 "---------VIDEO----------\n";
  echo "Title: " . $videoEntry->mediaGroup->title->text . "\n";
  echo "\nDescription:\n";
  echo $videoEntry->mediaGroup->description->text;
  echo "\n\n\n";
}
?>

Pour plus de détails sur les différents paramètres de requête, voyez le » Guide de référence. Il existe des fonctions d'aide dans Zend_Gdata_YouTube_VideoQuery pour chacun de ces paramètres.

Chercher des vidéos par catégories et mots-clés

Rechercher des vidéos dans une catégorie peut être fait en passant générant » une URL spécialement formatée. Par exemple, pour chercher les vidéos de comédies, contenant le mot clé "dog" :

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

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

Récupérer les flux standards

L'API YouTube comporte de nombreux » flux standards. On les rapatrie comme des objets Zend_Gdata_YouTube_VideoFeed en utilisant des URLs spécifiques, dont beaucoup possèdent des méthodes directes d'aide dans Zend_Gdata_YouTube.

La méthode permettant de selectionner les vidéos les mieux notées :

$yt = new Zend_Gdata_YouTube();

$videoFeed = $yt->getTopRatedVideoFeed(); 

Il existe un paramètre de requête pour spécifier une période temporelle. Il n'est valide que pour les vidéos les mieux notées (top_rated) et les plus vues (most_viewed).

Par exemple, les vidéos les mieux notées d'aujourd'hui se requêtent comme ceci :

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

Il aurait aussi été possible de récupérer ce flux en utilisant l'URL :

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

Récupérer les vidéos envoyées par un utilisateur spécifique

Vous pouvez récupérer les vidéos envoyées par un utilisateur spécifique. Par exemple, les vidéos de l'utilisateur 'liz' se rapatrient comme ceci :

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

Récupérer les vidéos favorites d'un utilisateur spécifique

Il est aussi possible de récupérer les vidéos favorites d'un utilisateur spécifique. Par exemple, les vidéos favorites de l'utilisateur 'liz' se rapatrient comme ceci :

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

Récupérer les vidéos réponses d'une vidéo spécifique

Vous pouvez récupérer les vidéos réponses d'une vidéo spécifique. Les vidéos données en réponses à la vidéo dont l'ID est 'abc123813abc' peuvent être requêtées comme ceci :

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

Récupérer les commentaires d'une vidéo spécifique

Récupérer les commentaires d'une vidéo spécifique est aussi possible, via une méthode simple. Les commentaires de la vidéo dont l'ID est 'abc123813abc' se rapatrient de cette manière :

$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";
} 

De même, si vous possédez une vidéo sous forme d'objet Zend_Gdata_YouTube_VideoEntry, vous pouvez demander ses commentaires avec une méthode :

$yt = new Zend_Gdata_YouTube();
$videoEntry = $yt->getVideoEntry('abc123813abc'); 
// on ne connait pas l'ID de la vidéo, mais son URL
$commentFeed = $yt->getVideoCommentFeed(null, $videoEntry->comments->href);

Récupérer le flux des playlists

L'API YouTube donne des informations sur un utilisateur : son profil, ses playlists, ses abonnements, et plus.

Requêter la playlist d'un utilisateur

La playlist d'un utilisateur se rapatrie grâce à une méthode. Voici un exemple pour la playlist de l'utilisateur '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";
} 

Requêter une playlist spécifique

Récupérer les vidéos d'une playlist spécifique :

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

Récupérer les abonnements d'un utilisateur

Un utilisateur possède plusieurs types d'abonnement : à un canal, à des mots-clés (tags), des favoris. Un objet Zend_Gdata_YouTube_SubscriptionEntry représente un abonnement particulier.

Exemple pour récupérer tous les abonnements de l'utilisateur 'liz':

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

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

Récupérer le profil d'un utilisateur

Cet exemple montre comment récupérer le profil de l'utilisateur 'liz':

$yt = new Zend_Gdata_YouTube();
$userProfile = $yt->getUserProfile('liz'); 
echo "username: " . $userProfile->username->text . "\n";
echo "age: " . $userProfile->age->text . "\n";
echo "hometown: " . $userProfile->hometown->text . "\n"; 

Using Google Base
blog comments powered by Disqus

Select a Version

Languages Available

Components

Search the Manual