Estoy tratando de usar la API de YouTube para obtener el número de suscriptores de un canal por su nombre de canal usando node.js. ¿Cómo puedo hacer eso?
Puede utilizar el método channel.list oficial de la API de YouTube para obtener estadísticas como: SubscriberCount, VideoCount y ViewCount.
| Obtener estadísticas de un canal de YouTube | Ejecutar en Fusebit |
|---|
const youtube = googleClient.youtube('v3'); const channelName = 'GoogleDevelopers'; const channelsResponse = await youtube.channels.list({ part: 'id,statistics', forUsername: channelName, }); if (channelsResponse.data.items && channelsResponse.data.items.length) { const { statistics: { subscriberCount, videoCount, viewCount } } = channelsResponse.data.items[0]; console.log(`The channel ${channelName} has 🧑🏾🤝🧑🏾 ${subscriberCount} subscribers, 🎬 ${videoCount} videos and 👀 ${viewCount} views.`); } else { console.log = `Channel not found: ${channelName}`; }[Actualizar]
Basado en los comentarios, aquí hay un ejemplo de cómo buscar un canal basado en un término de búsqueda, luego usará la identificación del canal para obtener las estadísticas, del código anterior, en lugar de enviar el parámetro Nombre de usuario, enviará la identificación Ver búsqueda Documentos API aquí
const channelsResponse = await youtube.search.list({ part: 'snippet', q: searchTerm, maxResults: 10, type: 'channel', order: 'viewCount' // show more popular first });Este es el objeto de respuesta devuelto por cada elemento de la búsqueda.
{ "kind": "youtube#searchResult", "etag": etag, "id": { "kind": string, "videoId": string, "channelId": string, "playlistId": string }, "snippet": { "publishedAt": datetime, "channelId": string, "title": string, "description": string, "thumbnails": { (key): { "url": string, "width": unsigned integer, "height": unsigned integer } }, "channelTitle": string, "liveBroadcastContent": string } }