Saltar al contenido

Obtener todos los videos de un canal usando la API de youtube

Este grupo de especialistas pasados varios días de investigación y recopilación de de información, obtuvimos la respuesta, queremos que te resulte útil para tu proyecto.

Ese enlace es para la API V2 ahora retirada, por lo que no devolverá ningún dato. En su lugar, querrá utilizar V3 de la API. Lo primero que debe hacer es registrarse para obtener una API. key – puede hacer esto creando un proyecto en console.developers.google.com, configurando la API de datos de YouTube en “activada” y creando un acceso público key.

Dado que ya tiene su ID de canal de usuario, puede saltar directamente a obtener los videos de él; Sin embargo, tenga en cuenta que si alguna vez no conoce el ID del canal, puede obtenerlo de esta manera:

https://www.googleapis.com/youtube/v3/channels?part=snippet&forUsername=username&key=YOUR_API_KEY

Con la ID del canal, puede obtener todos los videos del canal con el punto final de búsqueda, así:

https://www.googleapis.com/youtube/v3/search?order=date&part=snippet&channelId=channel id here&maxResults=25&key=YOUR_API_KEY

En este caso, ordenar por fecha es el mismo que el antiguo parámetro V2 para ordenar por “publicado”.

También hay muchos otros parámetros que puede usar para recuperar videos mientras busca un canal; consulte https://developers.google.com/youtube/v3/docs/search/list para obtener más detalles.

Pensé en compartir mi resultado final usando JavaScript. Utiliza la API de YouTube de Google key y UserName para obtener la ID del canal, luego extrae los videos y los muestra en una lista a una etiqueta div determinada.




    YouTube Channel Listing
    
" + "

" + channeltitle + "

" + channeldescription + "
" + "
"; var videoinfo = JSON.parse(getJSONData("https://www.googleapis.com/youtube/v3/search?order=date&part=snippet&channelId=" + userid + "&maxResults=" + maxnumbervideos + "&key=" + apikey)); var videos = videoinfo.items; var videocount = videoinfo.pageInfo.totalResults; // video listing for (var i = 0; i < videos.length; i++) var videoid = videos[i].id.videoId; var videotitle = videos[i].snippet.title; var videodescription = videos[i].snippet.description; var videodate = videos[i].snippet.publishedAt; // date time published var videothumbnail = videos[i].snippet.thumbnails.default.url; // default, medium or high document.getElementById(writediv).innerHTML += "
" + "" + ""+ título de video +""+"

"+ título de video +"

"+ descripción de video +" "+"
"; catch (ex) alerta (ex.message);

ADICIÓN: también escribí una función para manejar si está utilizando una ID de canal en lugar de una cuenta basada en UserName.

Aquí está ese código:

        function showVideoListChannel(channelid, writediv, maxnumbervideos, apikey) 
        try 
            document.getElementById(writediv).innerHTML = "";
            var vid = getJSONData("https://www.googleapis.com/youtube/v3/search?order=date&part=snippet&channelId=" + channelid + "&maxResults=" + (maxnumbervideos + 1) + "&key=" + apikey);
            var videoinfo = JSON.parse(vid);
            var videos = videoinfo.items;
            var videocount = videoinfo.pageInfo.totalResults;
            var content = "
"; for (var i = 0; i < videos.length - 1; i++) var videoid = videos[i].id.videoId; var videotitle = videos[i].snippet.title; var videodescription = videos[i].snippet.description; var videodate = videos[i].snippet.publishedAt; // date time published var newdate = new Date(Date.parse((videodate + " (ISO 8601)").replace(/ *(.*)/, ""))); var min = newdate.getMinutes(); if (min < 10) min = "0" + min; if (newdate.getHours() > 12) newdate = newdate.getMonth() + 1 + "/" + newdate.getDate() + "/" + newdate.getFullYear() + " " + (newdate.getHours() - 12) + ":" + min + " PM"; else if (newdate.getHours() == 12) newdate = newdate.getMonth() + 1 + "/" + newdate.getDate() + "/" + newdate.getFullYear() + " " + newdate.getHours() + ":" + min + " PM"; else newdate = newdate.getMonth() + 1 + "/" + newdate.getDate() + "/" + newdate.getFullYear() + " " + newdate.getHours() + ":" + min + " AM"; var videothumbnail = videos[i].snippet.thumbnails.default.url; // default, medium or high content += "
" + "" + ""+ título de video +"" + "

" + videotitle + "

" + videodescription + "
" + "" + newdate + "" + "
"; content += "
"; document.getElementById(writediv).innerHTML = content; catch (ex) alert(ex.message);

¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 5)


Tags :

Utiliza Nuestro Buscador