Automating My YouTube Uploads Using Node.js

Ғылым және технология

In this video, you will learn how I automated my KZread uploads using Node.js. I've used the KZread API through Google's readily available Node.js client library. The library handles all HTTP communication with KZread API's upload endpoint. I extract all the required fields for the video (title, description, tags, etc.) from my video's script file and upload them to KZread along with the video and the thumbnail. As always, I will start the project with a design document and will write tests. Also, I will do a live demonstration of the uploader module in action. In fact, I uploaded this video to KZread using the uploader module that I've created in this video!
Outline of this video:
* 0:00 - Superfast demo
* 0:25 - Overview
* 1:00 - Project Design Document
* 4:05 - Video Upload Automation Demo With KZread API and Node.js
* 8:01 - Upload Demo
* 9:33 - Next Steps
You can find my KZread uploader code at:
* quanticdev.com/articles/automating-my-youtube-uploads-using-nodejs
* gist.github.com/soygul/42677432fa89df7fd783e0232a43a8cf
KZread API Resources:
* Node.js Client QuickStart Guide. My uploader code is adapted from this. Follow the first section of it to download your project credentials: developers.google.com/youtube/v3/quickstart/nodejs
* API Reference: developers.google.com/youtube/v3/docs/videos/insert
* API Credentials: console.developers.google.com/apis/dashboard
If you don't already have a verified KZread project, or an old Google APIs project, you will have to ask your project to be whitelisted or your uploads cannot be made public:
* KZread API Compliance Audit Request Form: support.google.com/youtube/contact/yt_api_form
My Software Engineering Playlist:
* kzread.info/head/PLlPRnMzqjADpNe-NMMAm9cGkLEVlDZWvh
- - - - - - - - - - -
quanticdev
quantic_dev
quanticdev.com

Пікірлер: 45

  • @QuanticDev
    @QuanticDev3 жыл бұрын

    If you don't already have a verified KZread project, or an old Google APIs project, you will have to ask your project to be whitelisted or your uploads cannot be made public: "KZread API Compliance Audit Request Form": support.google.com/youtube/contact/yt_api_form

  • @EnglishRain

    @EnglishRain

    Жыл бұрын

    Stackoverflow says they never approve private/hobbyist projects, Google is focused only on businesses. I submitted the form but have zero hopes. :cry

  • @gjanimationstudio2325

    @gjanimationstudio2325

    Жыл бұрын

    @@EnglishRain any updates? Google approve your APP?? I have the same problem..

  • @EnglishRain

    @EnglishRain

    Жыл бұрын

    @@gjanimationstudio2325 hey yeah pleased to inform that Google indeed did allow my app eventually. Just give them the full information that they demand in the form and follow up emails.

  • @gjanimationstudio2325

    @gjanimationstudio2325

    Жыл бұрын

    @@EnglishRain can you send me your web site link? I want to check it as a example.

  • @gjanimationstudio2325

    @gjanimationstudio2325

    Жыл бұрын

    @@EnglishRain how many times are you waiting until Google Approves your APP?? 5 weeks??

  • @jcut
    @jcut3 жыл бұрын

    I really appreciate how you started with a walkthrough of the design document. I don't think I've seen this approach in other channels, and I feel like it prepared me to better understand what we're doing and why some steps were there. A good insight into real-life professional development. Keep up the great work!

  • @AngelHdzMultimedia
    @AngelHdzMultimedia Жыл бұрын

    Thank you so much! And that Project Design Document part... mind blowing! Gonna start doing it for everything! Planning, Organization, and Automation are key!

  • @CaseStudyQB
    @CaseStudyQB7 ай бұрын

    Thanks so much for this tutorial!

  • @iKranksy
    @iKranksy Жыл бұрын

    This is sick, did you have to verify your app with Google oauth in order to upload to youtube with restricted scopes? I can only download from youtube by default and looks like you need verification before you can use the youtube.upload scope? Please correct me if I'm wrong.

  • @MauriceMutetiNgundi
    @MauriceMutetiNgundi Жыл бұрын

    Does it work on monetized channels, Uploading process is quiet different on these channels

  • @愛
    @愛2 жыл бұрын

    when trying to get the token, i get an access_denied error 403 on the page the link leads to

  • @adiankonina
    @adiankonina3 жыл бұрын

    hey i really enjoyed your video!

  • @gjanimationstudio2325
    @gjanimationstudio2325 Жыл бұрын

    Any chance to do this without approving IPI from Google console?

  • @erenerdogan4222
    @erenerdogan422211 ай бұрын

    why do i get localhost- port problem , how can i solve this

  • @Necropiet
    @Necropiet2 жыл бұрын

    Love you!

  • @ArtyMars
    @ArtyMars3 жыл бұрын

    I've never done any sort of coding before, in this much depth, but for some reason the way you've explained the process makes me feel confident i can figure this out! xD i'll be back in a week with how i went :P I have about 300 individual videos i want to automate uploading to a youtube channel from metadata i've already created in a CSV file / google sheet so this looks promising!

  • @QuanticDev

    @QuanticDev

    3 жыл бұрын

    It's not hard at all. It's mostly gluing together bunch of libraries (which is what software development mostly is). Good luck.

  • @MartinRadio2
    @MartinRadio2 Жыл бұрын

    this has suddenly stopped working I get error:: invalid_grant every time

  • @sashaarchive
    @sashaarchive3 жыл бұрын

    Have you found a way to "publish" more than one video at a time? When I was messing around with this last summer I had an issue automating this part of the flow

  • @QuanticDev

    @QuanticDev

    3 жыл бұрын

    Does it not work when you call the upload API endpoint with multiple videos with their status set to public? There wasn't any note in the API docs against this.

  • @atakanerturk5999
    @atakanerturk5999 Жыл бұрын

    What is token path? is it an api key?

  • @redcharger2284
    @redcharger22843 жыл бұрын

    What should I put in empty the 'redirect_uris' array? Also, there is no "Other" option in 'Select the application type' in Google Cloud.

  • @QuanticDev

    @QuanticDev

    3 жыл бұрын

    As you can see from the code, redirect URIs are inside the credentials file: gist.github.com/soygul/42677432fa89df7fd783e0232a43a8cf#file-youtube-upload-js-L103 That file is auto generated so you don't have to put in anything by yourself. Let it be. I got the "Other" option in application type selection when creating my project, maybe they have recently removed it. I also tried with "Desktop" option, which also worked, so you can try that too.

  • @pankajkumarverma6815
    @pankajkumarverma6815 Жыл бұрын

    can we get url of uploaded video anyhow

  • @Dbrano3
    @Dbrano33 жыл бұрын

    Any update on if there is a python version. I've never worked with node js (just know very basic JS) so I would prefer python. If not, any advice on where I can get some basics on node.js to adapt this for my own workflow?

  • @QuanticDev

    @QuanticDev

    3 жыл бұрын

    I don't have the python version yet. If you want to learn some basic node.js, their documentation and guides are exceptionally good: nodejs.org/en/docs/guides/

  • @internetboybeats4146
    @internetboybeats41463 жыл бұрын

    can you post the full code instead of just the youtube.js file

  • @shakils1921
    @shakils19213 жыл бұрын

    Please make a video for beginner. don't skip any single basic steps.

  • @WisingMC
    @WisingMC3 жыл бұрын

    Hi thanks for the great tutorial, I'm having one issue with the api after authenticating correctly it's then giving me 'Error: No access, refresh token or API key is set'. This is weird because from what I'm looking over this should be working fine. Any ideas?

  • @QuanticDev

    @QuanticDev

    3 жыл бұрын

    I had the same problem. Windows Security was blocking access to /Documents folder to my script. Otherwise, check if you have the token file in place and it is not getting deleted by something after logging in.

  • @WisingMC

    @WisingMC

    3 жыл бұрын

    @@QuanticDev thanks for getting back to me, I later realised that I had the two files mixed up and now it's working! Only issue is the API cap of like 6 videos a day but it's fine

  • @QuanticDev

    @QuanticDev

    3 жыл бұрын

    @@WisingMC Good to hear. Did you have to request whitelisting for your API or did you use an existing old project like I did in the video?

  • @WisingMC

    @WisingMC

    3 жыл бұрын

    @@QuanticDev Oddly it seemed to work fine just uploading with a fresh project. I don't know if it was the conent I was uploading but when uploaded to public instantly they were locked for their spam policies so that's probably why an older project is better

  • @QuanticDev

    @QuanticDev

    3 жыл бұрын

    @@WisingMC Ah maybe they changed their policies slightly since this video. Anyway, have fun!

  • @Sezeriltekin
    @Sezeriltekin2 жыл бұрын

    Thank you for the video. It works like a charm! I'm going to create an automated uploading system with nodeJS. I wonder if we need to refresh our access token every one hour? (In current "client_oauth_token.json" expiry time equals 1 hour only)

  • @viitabs

    @viitabs

    Жыл бұрын

    also my question. token seems to have an expiry_date and the tutorial doesnt explain how to deal with it

  • @mrsami7207
    @mrsami72073 жыл бұрын

    Error: No access, refresh token or API key is set. its giving me this error even i off ransomware protection. i hope you help me to resolve this

  • @QuanticDev

    @QuanticDev

    3 жыл бұрын

    You are either not logged in or the app just cannot access the key. As you said, no 1 reason is antivirus stuff. Otherwise, it can be anything.

  • @pkrupar
    @pkrupar Жыл бұрын

    Thank you, but your tutorial is incomplete. Unnecessary information at 1:00-4:00. There is no description for the start script, so it's not possible to run "npm start". Running "node youtube-upload.js" does nothing. I'm a web developer. So after some changes the script runs. Thank you!

  • @Sebastian-cn8lh
    @Sebastian-cn8lh3 жыл бұрын

    (n) video private and blocked

  • @QuanticDev

    @QuanticDev

    3 жыл бұрын

    You need to request your upload project to be whitelisted. Then it should be fine. I'm still using mine and it's all good.

  • @fatalfear1
    @fatalfear12 жыл бұрын

    incomplete tutorial