Client-only Youtube content management, this is a Work in Progress that never gets enough time to get done. Originally started as a basic jQuery/Dropzone client, was converted to React, then designed to look like the new Channel Manager, then convert(ing) to TypeScript.
In a past experience, all examples I could find of the Google YouTube API were server-side supporting languages like PHP, Java, C#. It didnt make sense to me that one would upload videos to their own server before sending it to Google's servers, so I wanted to eliminate that bottleneck. Especially helpful when uploading large video files.
That problem may have changed in recent years, but I liked this project. So I re-did an old jQuery project into modern React with Typescript.
- Create Firebase Project
- Create Google Console Project (the above created firebase project should appear at time of writing this doc)
- https://github.com/google/google-api-javascript-client/blob/master/docs/start.md#setup
- Browser key was auto generated by firebase!
- Restrict GAPI API KEY found in Console
- Finish user drop-down menu
- Auto-save input values and send to youtube api
- Tagging
- Custom thumbnail upload
- Add progress spinner in place of template image
- Helper function that stores youtube metadata in your own database
- Replace Dropzone with React Drag and Drop
For more information, see:
- https://developers.google.com/youtube/v3/
- https://developers.google.com/apis-explorer/#p/youtube/v3/
Note: You will need to create authorization credentials on the Google Developers Console, please check the documentation prior to using this repo.
https://github.com/youtube/api-samples/tree/master/javascript