Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/damiansire/getyoutubedata
Youtube api wrapper for node
https://github.com/damiansire/getyoutubedata
npm youtube youtube-api youtubeapiv3
Last synced: 25 days ago
JSON representation
Youtube api wrapper for node
- Host: GitHub
- URL: https://github.com/damiansire/getyoutubedata
- Owner: damiansire
- Created: 2021-09-26T03:18:00.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2021-10-03T18:19:40.000Z (about 3 years ago)
- Last Synced: 2024-10-13T00:20:10.389Z (25 days ago)
- Topics: npm, youtube, youtube-api, youtubeapiv3
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/youtube-fast-api
- Size: 68.4 KB
- Stars: 11
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# YouTube Fast Api
## Introducción
Este paquete, consiste en un wrapper de la **API de YouTube** para **Node**.
Esta primera version, únicamente contiene información con respecto a los comentarios.
Estoy abierto a agregarle mas funcionalidad, si tienes alguna petición o sugerencia, puedes contactarme a mi [Twitter](https://twitter.com/damiansire), [Instagram](https://www.instagram.com/damiansire/) o a [email protected].
# Empezando
## Obtener Api Key de Google YouTube Data V3
Para hacer request a la **Api de YouTube**, necesitamos la **Api Key de Google YouTube Data V3**.
Para ello, debes de seguir los pasos de este tutorial.
https://developers.google.com/youtube/v3/getting-started?hl=es
En caso de que lo prefiera en video: https://youtu.be/zVJKcbjE52w
## Instalación
Para instalar este paquete, debes hacerlo mediante el comando
```
npm i youtube-fast-api
```## Inicialización
Una vez instalado el paquete, puedes usarlo en tu aplicación, instanciando el cliente de la **API**.
Esto puedes hacerlo de la siguiente manera:
```
const youtubeClient = require("youtube-fast-api")const ytClient = new youtubeClient(apiKeyObtenidaEnElTutorialDeGoogleDeArriba);
```Hecho esto, ya tienes acceso al cliente de la **API**.
# Funcionalidades
## Función getAllComments
```
getAllComments( videoId )
```Dado el ID de un video, esta función te devuelve todos los comentarios que hay en el.
## Función getPaginatedComments
```
getPaginatedComments( videoId, paginatedSize )
```Dado el Id de un video y el tamaño del paginado, te devuelve los comentarios de a pedazos.
Cuando el video tiene muchos comentarios se hace difícil y pesado manejar tantos datos.
Este método es ideal para esos casos, te permite obtener los comentarios de a poco.
Por ejemplo, si paginatedSize es 10 y el video tiene 50 comentarios. Te retornara los primeros 10 y un token para obtener los comentarios siguientes, con la función **getNextCommentsPage**.
## Función getNextCommentsPage
```
getNextCommentsPage(paginatedSize)
```
Cuando aplicas la función **getPaginatedComments**, devuelve los comentarios de a pedazos.Entonces, necesitas ir a buscar los siguientes, estos se hace con la función **getNextCommentsPage**.
La misma recibe como parámetro la cantidad de comentarios que quieres traer.
## Función getNextCommentsPage
```
getAllVideosByChannelId(channelId)
```
Cuando aplicas la función **getAllVideosByChannelId**, devuelve todos los id de todos los videos de ese canal.
## Función getPlaylistByChannelId
```
getPlaylistByChannelId(channelId)
```
Cuando aplicas la función **getPlaylistByChannelId**, devuelve todos los id, de las listas de reproducción de ese canal.
EL TAMAÑO DE LA PAGINA PUEDE NO ESTAR DEFINIDO
# Ejemplos de código
## Obtener todos los comentarios de un video
```
const youtubeClient = require("youtube-fast-api")const ytClient = new youtubeClient(tuApiKey);
const videoId = "PaRam-aY9p0"; //Aca el id del video
const videoComments = ytClient.getAllComments(videoId);
videoComments.then(videoData => {
console.log(videoData.map(comment => comment.authorDisplayName))
})
```## Ejemplo de paginado
```
const youtubeClient = require("youtube-fast-api")const ytClient = new youtubeClient(tuApiKey);
const videoId = "PaRam-aY9p0"; //Aca el id del video
(async () => {
const firstPage = await ytClient.
//Trae los primeros 20 comentarios
getPaginatedComments(videoId, 20);console.log(firstPage)
//Trae los siguientes 20 comentarios
const nextPageResult = await ytClient.getNextCommentsPage(20)console.log(nextPageResult)
})();
```