Affichage d'une vidéo YouTube

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


Zubaran
Nouveau WRInaute
 
Messages: 15
Inscription: Lun Nov 29, 2004 10:27

Affichage d'une vidéo YouTube

Message le Sam Mai 19, 2007 22:08

Bonjour,

J'ai un site web et je voudrais afficher une vidéo youtube par rapport à une recherche. Je me suis inscrit à YouTube Developper et j'ai acquis une ID mais je n'arrive pas à afficher une seule vidéo, j'obtiens une liste de vidéo avec description : http://www.abandonware-paradise.fr/youtest.php

Voici mon fichier youtest.php :

Code: Tout sélectionner
<?php

require_once('class.youtube.php');

$yt = new youTube;
$yt->yt_tag("pAIeW-ZFxHk", "football", 10, 1)

?>


Et voici mon class.youtube.php ( de base, celui trouvé sur youtube ) :

Code: Tout sélectionner
<?php

/*
YouTube API hack up.
Version: 1.0
Author: Sam Napolitano
URL: http://www.napolitopia.com/youtube_videos.php
Last Mod Date: 9/22/06
Notes: I am relatively new to php so you will have to excuse me if it seems that this is a little redundant or undercoded.
This is also the first class I have ever created from scratch, so the concept is still new to me.
This is under a GNU just leave my name in the credits and use/hack/destroy as needed.
*/

class youTube {

function get_feed($feed){

//Open and return Feed with cURL for parsing
$ch = curl_init();
$timeout = 0;
curl_setopt ($ch, CURLOPT_URL, $feed);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$xml = curl_exec($ch);
curl_close($ch);

return $xml;

}

function yt_results($xml, $howmany){

//Match appropriate tags and throw them in an array. I know I don't need to escape the carrots but I was recieving some strange results without it.
preg_match_all("/\<url\>(.+?)\<\/url\>/smi",$xml, $url);
preg_match_all("/\<description\>(.+?)\<\/description\>/smi",$xml, $description);
preg_match_all("/\<video\>(.+?)\<\/video\>/smi",$xml, $video);
preg_match_all("/\<thumbnail_url\>(.+?)\<\/thumbnail_url\>/smi",$xml, $thumb_nail);

//shift return arrays to negate 0 level
array_shift($url);
array_shift($thumb_nail);
array_shift($description);
array_shift($video);

// Replace html characters. More can be added but this seems to work for me across the board.
for($i=0;$i<count($description[0]);$i++){

$description[0][$i] = preg_replace("/</","<",$description[0][$i]);
$description[0][$i] = html_entity_decode($description[0][$i],ENT_QUOTES);

}

// find out how many videos are returned
$total_videos = count($video[0]);

//error checking for how many videos to display

//if more videos are asked for then exist only return how many acutally exist
if($howmany > $total_videos){

$howmany = $total_videos;

}

//if none are asked for default to all
if(!$howmany || $howmany == 0){

$howmany = $total_videos;

}

//video display options
for($i = 0; $i<$howmany; $i++){

print "<p><a href=\"".$url[0][$i]."\" target=\"_blank\"><img src=\"".$thumb_nail[0][$i]."\"></a><br />".$description[0][$i]."</p>";

}
}

function yt_featured($dev_id, $howmany){

//youTube api feed
$feed = "http://www.youtube.com/api2_rest?method=youtube.videos.list_featured&dev_id=$dev_id";

//get the feed as a string data source
$xml = $this->get_feed($feed);

//get results
$this->yt_results($xml, $howmany);

}

function yt_user($dev_id, $user, $howmany){

//youTube api feed
$feed = "http://www.youtube.com/api2_rest?method=youtube.videos.list_by_user&dev_id=$dev_id&user=$user";

//get the feed as a string data source
$xml = $this->get_feed($feed);

//get results
$this->yt_results($xml, $howmany);

}

function yt_tag($dev_id, $tag, $howmany){

//youTube api feed
$feed = "http://www.youtube.com/api2_rest?method=youtube.videos.list_by_tag&dev_id=$dev_id&tag=$tag";

//get the feed as a string data source
$xml = $this->get_feed($feed);

//get results
$this->yt_results($xml, $howmany);


}

}

?>


Comment puis-je faire pour afficher une seule vidéo prête à être visionné et non pas ce listing de vidéo ?

Merci


stoff
WRInaute impliqué
WRInaute impliqué
 
Messages: 369
Inscription: Dim Aoû 22, 2004 20:03

Message le Sam Mai 19, 2007 22:58

tu ne selectionnes que le dernier.
dans l'url tu ne prend que l'id, et tu affiche le visualisateur :-)


Zubaran
Nouveau WRInaute
 
Messages: 15
Inscription: Lun Nov 29, 2004 10:27

Message le Dim Mai 20, 2007 8:38

Merci pour ta réponse, dsl mais je suis un peu nul j'ai du mal à piger :D

Tu veux dire que je reprend que :

Code: Tout sélectionner
function yt_tag($dev_id, $tag, $howmany){

//youTube api feed
$feed = "http://www.youtube.com/api2_rest?method=youtube.videos.list_by_tag&dev_id=$dev_id&tag=$tag";

//get the feed as a string data source
$xml = $this->get_feed($feed);

//get results
$this->yt_results($xml, $howmany);


}


Comment reprendre juste l'id ?

$this->yt_results($dev_id); ?

Ensuite je met le visualisateur et j'affiche l'id avec $this ?

Dsl d'être aussi nul :? Je vais essayer cela, j'espere que tu pourra me mettre sur la voie une fois de plus.

Merci


stoff
WRInaute impliqué
WRInaute impliqué
 
Messages: 369
Inscription: Dim Aoû 22, 2004 20:03

Message le Dim Mai 20, 2007 10:48

Essaie:
$yt->yt_tag("pAIeW-ZFxHk", "football", 1, 1)
pour n'en selectionner qu'un.


Zubaran
Nouveau WRInaute
 
Messages: 15
Inscription: Lun Nov 29, 2004 10:27

Message le Dim Mai 20, 2007 11:26

Merci grâce à toi j'ai réussi :D

Juste une dernière question :lol: Est il possible de changer la method de recherche, la c'est par tag : method=youtube.videos.list_by_tag
A part par user y'a t'il d'autres methodes ?

Merci


Zubaran
Nouveau WRInaute
 
Messages: 15
Inscription: Lun Nov 29, 2004 10:27

Message le Dim Mai 20, 2007 11:38

Oublie ma question, je suis aller voir sur youtube, j'ai vu les différentes méthodes. Me reste a trouver comment obtenir la meilleure recherche possible avec mes titres de jeux :/ En utilisant plusieurs tags peut-être ? Si c'est possible...

Merci en tout cas jv essayer de me dépatouiller maintenant :)


stoff
WRInaute impliqué
WRInaute impliqué
 
Messages: 369
Inscription: Dim Aoû 22, 2004 20:03

Message le Dim Mai 20, 2007 14:15

Bah c'est justement l'interet des tags, enfin il me semble ^^


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : You Tube, YouTube Insight



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités