Obtener Comentarios de Youtube por API

Buenas, hoy presento un pequeño truquito que descubrí el otro día cuando conocí la API de Youtube y como lo he usado para generar un spintax de los comentarios usando una simple hoja de cálculo de Google Sheets. Aquí un ejemplo con unos vídeos del crack de Chuiso de Team Platino:

youtube comments spintax

API de Youtube para Obtener Datos

Lo primero es crear una cuenta de desarrollador de Google Cloud y en la consola de desarrollador hay que habilitar la API de Youtube (Youtube Data API v3) y crear unas credenciales para su uso. Podeis encontrar más información sobre ello en el portal de Google, en este post no me voy a centrar en explicar estos pasos.

api youtube habilitada

Script de Google Sheets

Para que funcione la hoja de cálculo he desarrollado un pequeño script usando AppScript de Google Sheets, donde hace la llamada a esta API, obteniendo el ID del vídeo, y juntando los comentarios para después generar un spintax con los comentarios obtenidos.

El código es el siguiente, una única función, la cual hay que copiarlo en la ventana de AppScript de Google Sheets:

appscript google sheets
/* Script developed by juaristech.com */

function comentariosYoutube(videoId) {
  apikey='XXXXXXXXXXXXXXXXXXX';
  numComentarios = '15';
  
  const url = "https://www.googleapis.com/youtube/v3/commentThreads?key="+apikey+"&textFormat=plainText&part=snippet&videoId="+videoId+"&maxResults=" + numComentarios + "&order=relevance";

  console.log(url);

  var response = UrlFetchApp.fetch(url);
  var json = response.getContentText();
  var items = JSON.parse(json)['items'];

  spinComments="{"

  for(i=0; i < items.length; i++){
    comentario = items[i]['snippet']['topLevelComment']['snippet']['textDisplay'].replaceAll('{','(').replaceAll('}',')').replaceAll('|','').replaceAll('\r\n','<br>').replaceAll('\n','<br>').replaceAll('*','')
    if(!comentario.includes("https")){
      spinComments = spinComments + comentario + '|'
    }
  }

  spinComments = spinComments.substring(0,spinComments.length - 1) + '}';
  if(spinComments != '}'){
    if(!spinComments.includes('|')){
        spinComments = spinComments.replace('{','').replace('}','');
      }
      return spinComments;
  }      
  else{
      return 'Sin comentarios';
  }
}

Copiando y pegando el código tal cual, el programa genera el spintax mostrado en el GIF del inicio, con un máximo de 15 comentarios por vídeo. Esto se puede adaptar al gusto de cada uno, para obtener el resultado que más interese. Yo dejo la base y que cada uno lo uso como a el mejor le parezca. 😉

Deja un comentario