Listar los Videos de un canal de Youtube con Youtube Data API v3 y PHP


La Youtube Data API v3 nos permite interactuar con las caracteristicas de Youtube, obtener lista de videos, estadisticas, comentarios y mucho mas.

En este articulo les mostrare un codigo para obtener la lista de videos recientes de un canal.

Obtener el API KEY de Youtube Data API v3

Necesitamos tener un API Key, para ello deben ir a https://console.developers.google.com/ , crear un proyecto, habilitar el servicio Youtube Data API v3 y obtener el API KEY.

En el siguiente vídeo les explico como hacer el proceso para obtener el API KEY y como ejecutar y modificar el script para listar los vídeos.

Después de ver el vídeo, les invito a darle like y suscribirse a mi canal https://youtube.com/evilnapsis

Código

Ahora les dejo el código de ejemplo.

<?php
$api_key="AIzaSyB9Jke6rnaLhptLSDZk95JbrvYeuslai0w"; // Ingresar tu Api Key
$channel_id="UCCWGaFWK5AssRRn01eNxrKg"; // El Id del canal
$max_results="50"; // Resultados a mostrar
 
// LLamar a la API para obtener la lista de videos en JSON
$query = "https://www.googleapis.com/youtube/v3/search?key=$api_key&channelId=$channel_id&part=snippet,id&order=date&maxResults=".$max_results;
$videoList = file_get_contents($query);
 

// Convertir el JSON a Array
$results = json_decode($videoList, true);

// Para debugear
// echo "<pre>";
// print_r($results); 
// echo "</pre>";

// Recorrer los resultados
echo "<h1>Videos Recientes del Canal</h1>";
foreach ($results['items'] as $items)
{
$id = $items['id']['videoId']; //  Id del video
$title= $items['snippet']['title']; // Titulo del video
$description = $items['snippet']['description']; // Descripcion del video
$published_at = $items['snippet']['publishedAt']; // Fecha de publicacion
$channel_title = $items['snippet']['channelTitle']; // Titulo del canal
$thumbnail = $items['snippet']['thumbnails']['default']['url']; // Imagen miniatura, 3 valores: default, medium, high
 
// Mostrar en un formato
echo "<div style='display:inline-block;width:200px;margin:10px;text-align:center;vertical-align:top'>";
echo "<img src='$thumbnail'>";
echo "<h3>$title</h3>";
echo "<p>$description</p>";
echo "<p><i>$published_at</i></p>";
echo "<p>Por <b>$channel_title</b></p>";
echo "<p><a href=\"https://youtube.com/watch?v=$id\" target='_blank'>Ver video</a></p>";
echo "</div>";
}
?>

En el vídeo les explico un poco el código, también le agregue comentarios en las lineas importantes.

El ejemplo esta listo para descargar, guardar en un archivo con extensión *.php y ejecutar en localhost o en un servidor, solo debes modificar por ejemplo el ID del canal o la API KEY.

Les comparto mi API KEY pero les recomiendo crear sus propias API KEY debido a que si se saturan las peticiones entonces Google bloqueara el acceso. También es posible que yo en cualquier momento elimine la clave.

La ventaja de contar con tu propia API KEy es que tendrás tu propia cuota de peticiones y veras tus estadísticas.

Resultado

A continuación el resultado al ejecutar el script.

 

Leave a comment