This web app gets all YouTube playlists and the unavailable videos in each video. Unavailable videos can be removed from playlists or downloaded.
To get started, click on the "Show Playlists" button on the home page. Click the login button if the popup appears to login to Google.
Next, select the region you watch videos in. This is required to get an accurate list of unavailable videos because video availability depends on the region. In other words, videos are available in some countries but not others.
A list of playlists will be displayed. For each playlist, click on the "Get unavailable videos" button to retrieve all unavailable videos. The popup will show a list of unavailable videos and give options to download the list of videos or remove the videos. Due to limitations of Youtube, videos that are deleted will have no information.
Install dependencies with pnpm i. Set required environment variables in build:
REACT_APP_GAPI_CLIENT_ID: Google API OAuth Client IDREACT_APP_GAPI_API_KEY: Google API API Key
Build with run pnpm build.
Unavailable videos are videos that are deleted, privated, blocked due to copyright grounds, or other reasons. Videos availability, mostly for videos blocked for copyright, is different in each country.
Uses google-api-javascript-client for YouTube API requests.
Uses the Google 3P Authorization library for authentication and authorization (sign-in with Google)
The page components (App.tsx, privacyPolicy.tsx) are put directly into the layout component. To reduce nesting, you may want to return a fragment with the content.
Automated tests via GitHub Actions
Build and pull Request builds via Netlify
The main branch is the production branch
The staging branch has a staging deploy of the site. This is required so Netlify has a consistent URL, so Google APIs can be authorized for that URL to allow for e2e testing.