DesarrolloLibre

Desarrollo Web, Android, juegos y mucho más

Categorias
17-04-2017

En esta entrada veremos cómo obtener videos de un canal de Youtube con PHP, procesarlos y realizar alguna acción como por ejemplo mostrarlos en un listados.

Antes que nada debemos entender cómo está compuesta la URL de Youtube que emplearemos para consultar los video de canal:

https://www.googleapis.com/youtube/v3/search?key=$key&channelId=$channel&part=snippet,id&order=date&maxResults=50

Realizando una acotación vemos que empleamos La web de googleapis y no la de Youtube; la web de googleapis provee información sobre otras APIS de Google que puedes consultar; hay una gran cantidad de APIs y para poder obtener más información de las mismas puedes consultar el siguiente enlace: Google APIs Explorer

Volviendo a la explicación del a URL mostrada anteriormente, vemos que está compuesta por varios parámetros que por su naturaleza son pasados por GET:

Teniendo lo anterior explicado lo que nos queda por hacer es realmente poco. Ahora solo tenemos que generar la petición y procesarla mediante PHP; para eso empleamos la siguiente función:

    function get_videos() {

        $key = 'Mi-key';
        $channel = 'Mi-Canal'; //ejemplo: UCL-aihy3UD61TmvCOL9szUw

        $url = "https://www.googleapis.com/youtube/v3/search?key=$key&channelId=$channel&part=snippet,id&order=date&maxResults=50";
        $json = file_get_contents($url);
        $obj = json_decode($json, true);

        // var_dump($obj);

        return $obj;
    }

Vemos que además del resto de los parámetros especificados anteriormente, existe un parámetro key el cual no es más que el generado en la Consola de desarrolladores de Google cuando creamos el proyecto y habilitamos la API de Youtube; ya este proceso lo hemos ejemplificado en anteriores entradas, por ejemplo en la de Login Social con la SDK de Google con PHP-CodeIgniter y los pasos son muy similares salvo que debemos habilitar la llamada: YouTube Data API y generar las credenciales de la misma.

El método file_get_contents permite obtener el código fuente (un string) de una página web a través de una URL, en nuestro caso la página web es texto plano en formato JSON el cual decodificamos con el método json_decode y luego podemos procesar e iterar perfectamente.

Si queremos pintar los videos:

    <?php foreach ($videos['items'] as $video) { ?>
        <?php if (isset($video['id']["videoId"])) { ?>
                                        <iframe class="box-center" width="560" height="315" src="https://www.youtube.com/embed/" frameborder="0" allowfullscreen></iframe>
            >?php } ?>
        <?php } ?>

Obtenemos un listado de videos como el de la siguiente imagen:

listado videos youtube

Publicidad

Give me for a beer!

Algunos recursos que te pueden interesar

TCPDF: clase Oper Source para generar PDF con PHP

TCPDF: clase Oper Source para generar PDF con PHP

Algunos artículos que te pueden interesar

Cómo instalar la SDK de Facebook para PHP en CodeIgniter

Cómo instalar la SDK de Facebook para PHP en CodeIgniter

Andrés Cruz 08-09-2016

¿Cómo consultar los últimos tweets publicados con PHP?

¿Cómo consultar los últimos tweets publicados con PHP?

En esta entrada veremos cómo consultar los últimos tweets publicado en la red social Twitter mediante PHP.

Andrés Cruz 30-07-2015

¿Cómo publicar un post en nuestro muro con la API Graph API de Facebook (PHP)?

¿Cómo publicar un post en nuestro muro con la API Graph API de Facebook (PHP)?

Explicamos como obtener los tokens de autenticación desde la página de desarrolladores de Facebook, descargar la SDK de Facebook para PHP, solicitar los permisos, autenticarse y publicar un post en el muro de Facebook.

Andrés Cruz 27-06-2016