This personal web application fetches and saves the user's Youtube playlists for backup purposes. The app runs on Node.js, making API requests to the Youtube Data API, processing the responses, and serving dynamic web pages using Express and EJS. An authorized session is established with an OAuth2 handshake resulting in an access token being granted by the Google API. Backups are saved as JSON files, fit for further development.
NOTE As this project was intended only for personal use, anyone seeking to try this out for themselves will need to create their own Google Developer project and request a project token.
- Clone the repository
git clone https://github.com/Benhan11/youtube-playlist-saver.git
-
Add project token to
credentials/project_token.json -
(Docker) Build Docker image
docker build -t youtube-playlist saver .
- (Without Docker) Install packages
npm install
(Docker) Run Docker container
docker run --name youtube-playlist-saver -p 8080:8080 youtube-playlist-saver
(Without Docker) Run Node
node app.js
The application can now be accessed at http://localhost:8080
Docker Note Generated backups can be found at /app/generated/playlists/ within the container.
- Google APIs (v67.1.1)
- Google Auth Library (v7.0.2)
- Express.js (v4.18.2)
- EJS (v3.1.9)