Código de PHP - Utilizar la API de Youtube para obtener el thumbnail, titulo, descripción y tiempo de un vídeo

Imágen de perfil

Utilizar la API de Youtube para obtener el thumbnail, titulo, descripción y tiempo de un vídeográfica de visualizaciones


PHP

estrellaestrellaestrellaestrellaestrella(4)
Publicado el 14 de Enero del 2015 por xve
5.128 visualizaciones desde el 14 de Enero del 2015. Una media de 56 por semana
Código que muestra como hacer una llamada a la API de Youtube para obtener la imagen del vídeo, tamaño del mismo, tiempo de reproducción, titulo y descripción.
Muestra como mostrar el thumnail del vídeo con enlace hacia la página de Youtube para ver el vídeo.
También muestra como incrustar el vídeo en nuestra página.

Versión 1.0
estrellaestrellaestrellaestrellaestrella(4)

Publicado el 14 de Enero del 2015gráfica de visualizaciones de la versión: Versión 1.0
5.129 visualizaciones desde el 14 de Enero del 2015. Una media de 56 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="utf-8">
    <style>
    .video img {cursor:pointer;}
    </style>
</head>
 
<body>
<?php
# definimos el identificar del vídeo que deseamos mostrar
$video="ApeC2AGENgo";
 
# realizamos la peticion a youtube para obtener en formato json toda la
# información sobre el video
$json_output = file_get_contents("http://gdata.youtube.com/feeds/api/videos/".$video."?v=2&alt=json");
$json = json_decode($json_output, true);
 
# Si deseamos visualizar todos los datos recibidos por json de youtube
#echo "<pre>";
#print_r($json);
#echo "</pre>";
 
# obtenemos los valores necesarios que deseamos
$video_title = $json['entry']['title']['$t'];
$video_description = $json['entry']['media$group']['media$description']['$t'];
$video_width = $json['entry']['media$group']['media$thumbnail'][0]["width"];
$video_height = $json['entry']['media$group']['media$thumbnail'][0]["height"];
$video_image = $json['entry']['media$group']['media$thumbnail'][0]["url"];
$video_time = $json['entry']['media$group']['media$thumbnail'][0]["time"];
 
echo "<div class='video' id=".$video.">";
    echo "<div>";
 
        echo "<h2>Imagen del video con enlace hacia youtube</h2>";
        # hacemos un enlace hacia la pagina de youtube para visualizar el video
        echo "<a href='http://youtu.be/".$video."'>";
 
            # Mostramos la imagen
            echo "<img src='".$video_image."' style='width:".$video_width."px;height:".$video_height."px;'>";
 
            # Si queremos modificar el temaño de la imagen, podemos utilizar
            # esta imagen mas grande que no se vera distorsionada
            echo "<br><br><img src='https://img.youtube.com/vi/".$video."/0.jpg' style='width:219px;height:164px;'>";
        echo "</a>";
 
        # Si deseamos visualizar el video
        echo "<h2>Mostramos el video en nuestra página</h2>";
        echo "<iframe width='307' height='173' src=\"//www.youtube.com/embed/".$video."?showinfo=0&autohide=1\" frameborder=\"0\" allowfullscreen></iframe>";
 
    echo "</div>";
 
    # Mostramos el titulo, tiempo y descripción del video
    echo "<h3>Titulo: ".$video_title."</h3>";
    echo "<p>Tiempo: ".$video_time."</p>";
    echo "<p>".$video_description."</p>";
echo "</div>";
?>
</body>
</html>



Comentarios sobre la versión: Versión 1.0 (4)

TaurusZDK
19 de Enero del 2015
estrellaestrellaestrellaestrellaestrella
wow super extra archi buenisimo!!!!!!!!!!! me avia pasado por la mente poner algo asi en mi web que casualidad que venia de paso x aca y me cae esto del cielo.


Gracias!!!!!!!!!!!!!!!!!!!!!!
Responder
Imágen de perfil
Ricardo
14 de Marzo del 2015
estrellaestrellaestrellaestrellaestrella
Hola,

He llevado el sistema al paradigma MySQL, o sea, la idea es inyectar el código en una base de datos y luego leerla mediante el script.

Veamos:

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<style>
.video img {cursor:pointer;}
</style>
</head>

<body>
<div style="width:700px;margin:100px auto">
<?php
require ('includes/connect.php');
//$Categoria = $_GET['Categoria'];
$result=mysql_query("SELECT * FROM videos ORDER BY id DESC",$connect);
$num_rows = mysql_num_rows($result);
if ($num_rows == 0){
echo "En estos momentos no hay Videos";
exit;}
while($row=mysql_fetch_array($result)){
$video= ''.$row['video'].'';


# definimos el identificar del vídeo que deseamos mostrar
//$video="YHKGQnw6Smc";
# realizamos la peticion a youtube para obtener en formato json toda la
# información sobre el video
$json_output = file_get_contents("http://gdata.youtube.com/feeds/api/videos/".$video."?v=2&alt=json");
$json = json_decode($json_output, true);

# Si deseamos visualizar todos los datos recibidos por json de youtube
#echo "<pre>";
#print_r($json);
#echo "</pre>";

# obtenemos los valores necesarios que deseamos
$video_title = $json['entry']['title']['$t'];
$video_description = $json['entry']['media$group']['media$description']['$t'];
$video_width = $json['entry']['media$group']['media$thumbnail'][0]["width"];
$video_height = $json['entry']['media$group']['media$thumbnail'][0]["height"];
$video_image = $json['entry']['media$group']['media$thumbnail'][0]["url"];
$video_time = $json['entry']['media$group']['media$thumbnail'][0]["time"];

echo "<div class='video' id=".$video.">";
echo "<div>";

echo "<h2>Imagen del video con enlace hacia youtube</h2>";
# hacemos un enlace hacia la pagina de youtube para visualizar el video
echo "<a href='http://youtu.be/".$video."'>";

# Mostramos la imagen
//echo "<img src='".$video_image."' style='width:".$video_width."px;height:".$video_height."px;'>";

# Si queremos modificar el temaño de la imagen, podemos utilizar
# esta imagen mas grande que no se vera distorsionada
echo "<br><br><img src='https://img.youtube.com/vi/".$video."/0.jpg' style='width:219px;height:164px;'>";
echo "</a>";

# Si deseamos visualizar el video
echo "<h2>Mostramos el video en nuestra página</h2>";
echo "<iframe width='307' height='173' src=\"//www.youtube.com/embed/".$video."?showinfo=0&autohide=1\" frameborder=\"0\" allowfullscreen></iframe>";

echo "</div>";

# Mostramos el titulo, tiempo y descripción del video
echo "<h3>Titulo: ".$video_title."</h3>";
echo "<p>Tiempo: ".$video_time."</p>";
echo "<p>".$video_description."</p>";
echo "</div>";}
mysql_free_result($result)
?>
</div>
</body>
</html>

***********************

<?php
//conectamos a la base
$connect=mysql_connect("localhost","admin","password");
//Seleccionamos la base
mysql_select_db("test",$connect);
?>

***********

Y acá está la base de datos:

--
-- Estructura de tabla para la tabla `videos`
--

CREATE TABLE IF NOT EXISTS `videos` (
`id` int(10) NOT NULL,
`video` varchar(50) COLLATE utf8_spanish_ci NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;

--
-- Volcado de datos para la tabla `videos`
--

INSERT INTO `videos` (`id`, `video`) VALUES
(1, 'aqAC0zDH1Ts'),
(2, 'YHKGQnw6Smc'),
(3, 'H3OaBiu5pM8');
Responder
Cristhian
06 de Mayo del 2016
estrellaestrellaestrellaestrellaestrella
Amigo no se puede obtener el titulo o la descripción del vídeo yo utilice la misma clase hace un año y si salia pero ahora ya no sale el titulo me puedes decir por que.
Responder
Jesus
13 de Octubre del 2016
estrellaestrellaestrellaestrellaestrella
Muy interesante pero ya no se puede usar, alguien sabe como hacerlo ahora?
Responder

Comentar la versión: Versión 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s3002