Uma API JavaScript para obter comentários do YouTube de forma simplificada com campos específicos.
- Instalação
- Requisitos
- Uso Básico
- Exemplos
- Referência da API
- Formato dos Dados
- Funções Auxiliares
- Limitações
- Clone o repositório:
git clone https://github.com/FazcomIA/yt_api_comment
cd yt_api_comment- Instale as dependências:
npm install- Node.js 14.0 ou superior
- Dependências:
- axios: Para fazer requisições HTTP
// Importar a função principal
const { obterComentarios } = require('./api_comentarios');
// Obter comentários usando o ID do vídeo
obterComentarios('wctcZbWvpoY')
.then(comentarios => {
console.log(`Foram obtidos ${comentarios.length} comentários.`);
console.log(comentarios[0]); // Exibir o primeiro comentário
})
.catch(erro => {
console.error('Erro:', erro.message);
});const { obterComentarios } = require('./api_comentarios');
// Obtém os 50 comentários mais recentes (padrão)
obterComentarios('wctcZbWvpoY')
.then(comentarios => console.log(comentarios));const { obterComentarios } = require('./api_comentarios');
obterComentarios('https://www.youtube.com/watch?v=wctcZbWvpoY')
.then(comentarios => console.log(comentarios));const { obterComentarios } = require('./api_comentarios');
// Obter apenas 10 comentários
obterComentarios('wctcZbWvpoY', { limite: 10 })
.then(comentarios => console.log(comentarios));const { obterComentarios, ORDENACAO_POPULARES } = require('./api_comentarios');
// Obter comentários ordenados por popularidade
obterComentarios('wctcZbWvpoY', { ordenacao: ORDENACAO_POPULARES })
.then(comentarios => console.log(comentarios));const { obterComentarios } = require('./api_comentarios');
// Obter comentários em inglês
obterComentarios('wctcZbWvpoY', { idioma: 'en' })
.then(comentarios => console.log(comentarios));const { obterComentarios, ORDENACAO_POPULARES } = require('./api_comentarios');
// Obter 25 comentários mais populares em inglês
obterComentarios('wctcZbWvpoY', {
limite: 25,
ordenacao: ORDENACAO_POPULARES,
idioma: 'en'
})
.then(comentarios => console.log(comentarios));Obtém comentários de um vídeo do YouTube.
- videoIdOuUrl
{string}: ID do vídeo ou URL completa do YouTube. - opcoes
{Object}(opcional): Opções adicionais.- limite
{number}(padrão: 50): Quantidade máxima de comentários a retornar. - idioma
{string}(padrão: 'pt'): Código do idioma. - ordenacao
{number}(padrão: ORDENACAO_RECENTES): Tipo de ordenação.
- limite
{Promise<Array>}: Promise que resolve para um array de objetos de comentários.
- ORDENACAO_RECENTES (valor: 1): Ordena comentários por data, do mais recente para o mais antigo.
- ORDENACAO_POPULARES (valor: 0): Ordena comentários por popularidade (mais likes primeiro).
Cada comentário é retornado como um objeto com os seguintes campos:
{
cid: "UgyUBI70XozBHR_l4aJ4AaABAg", // ID único do comentário
user: "Nome do Usuário", // Nome do autor do comentário
text: "Este é o texto do comentário", // Conteúdo do comentário
time: "há 3 dias", // Tempo relativo (original do YouTube)
data: "25-10-2023", // Data formatada como DD-MM-YYYY
respostas: 5 // Número de respostas ao comentário
}O arquivo teste_data.js inclui um utilitário para testar a conversão de datas relativas para o formato DD-MM-YYYY:
node teste_data.jsEste comando mostra como o sistema converte diferentes formatos de datas relativas (como "há 5 dias", "há 2 anos", etc.) para o formato DD-MM-YYYY considerando o timezone de America/São Paulo.
- A API depende da estrutura interna do YouTube que pode mudar sem aviso prévio.
- O uso excessivo da API pode resultar em bloqueio temporário pelo YouTube.
- O YouTube pode limitar o número total de comentários que podem ser carregados para vídeos com muitos comentários.
- A conversão de tempo relativo para data absoluta é uma aproximação e pode não ser 100% precisa, especialmente para unidades maiores como meses e anos.