YouTube API en PHP ✔️[Listar ultimos videos subidos]
Introducción
Procedimiento
Lo primero que debemos hacer es ir a google cloud plataform desde este link Google Cloud Plataform
Click en la lista de proyectos y después en NUEVO PROYECTO
Colocamos un nombre y damos click en crear
Desplegamos de nuevo todos los proyecto y seleccionamos el proyecto que acabamos de crear
Click en menu, Api y servicio y Biblioteca
Buscamos y damos click en Youtube Data API v3
Click en Habilitar
Seleccionamos Youtube Data API v3, Despues Seleccionamos “Servidor web(p. ej., node.js Tomcat) y click en el boton
Se nos mostrara nuestra Clave API, la copiamos
Ahora podemos construir una url para mandar a llamar nuestro videos de esta forma
https://www.googleapis.com/youtube/v3/search?key=[key]&channelId=[canalID]&part=snippet,id&order=date&maxResults=5
Donde:
[key] = Key obtenido en los pasos anteriores
[canalID] = Lo podemos obtener desde esta pagina https://commentpicker.com/youtube-channel-id.php
Video
Codigo
Ahora podemos crear nuestra aplicación PHP que nos entregara los últimos vídeos que hemos subido a youtube asi:
<?php
// Resultados por pagina
$resPorPagina = 5;
// Llave obtenida de youtube api
$key = "AIzaSyB7gURHwQDLIn7qOiDlviIkhxjKdk17m9E";
// Id del canal obtenido de https://commentpicker.com/youtube-channel-id.php
$idCanal = "UCekiUWTObDKZnaeS-reYQbg";
?>
<table border="1">
<thead>
<tr>
<th>Nombre</th>
<th>URL</th>
<th>Publicado el</th>
</tr>
</thead>
<tbody>
<?php
$json_url = 'https://www.googleapis.com/youtube/v3/search?key=' . $key . '&channelId=' . $idCanal . '&part=snippet,id&order=date&maxResults=' . $resPorPagina;
//echo $json_url;
$ch = curl_init($json_url);
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array(
'Content-type: application/json')
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
$json_output = json_decode($result, true);
//var_dump($json_output);
foreach ($json_output["items"] as $contador => $elemento) {
// Si es video (No lista)
if ($elemento["id"]["videoId"]) {
$urlVideo = "https://www.youtube.com/watch?v=" . $elemento["id"]["videoId"];
$tituloVideo = $elemento["snippet"]["title"];
$fechaVideo = $elemento["snippet"]["publishedAt"];
?>
<tr>
<td><?php echo $elemento["snippet"]["title"]; ?></td>
<td><?php echo $urlVideo; ?></td>
<td><?php echo $fechaVideo; ?></td>
</tr>
<?php
}
}
?>
</tbody>
</table>