YouTube’s API is a pain.
Ah, another morning in Blaugust. Do we try to write a new post from scratch? Or revise and restore one of the train wrecks of posts littered in the gorge of abandoned drafts?
Here’s something that’s on my mind this morning. What’s “top-of-mind,” in the parlance of my workplace.
One of my personal development goals for several years now has been to write or find a tool that will automatically upload a directory full of video files to YouTube on an automated schedule, so I don’t have to do it manually. Doing things manually is work, and bad. Letting automated tools do work for me is good, and righteous, and noble.
The other day I tried once again to write a command-line program to upload a video file through the YouTube API. By “write,” I mean I simply cut-and-pasted the sample golang code from YouTube’s web site and ran it. It worked. It successfully authenticated and uploaded a video file to my YouTube channel with metadata. Neat!
I’ve been here before, though. I had previously written something in .NET which achieved the same thing. More than once, I think.
Unfortunately, the video file that was uploaded was immediately locked and made private, with no indication of how to fix it.
It turns out you now have to go through an “audit” process so that Google can ensure you’re not doing anything nefarious with their API. I started that process yesterday. It’s painful. You have to fill out a form with a million fields in it, all designed to dissuade casual users from trying to do anything with their API.
The days of the “open Internet” are long gone, in case anyone was wondering. It wasn’t the government as we feared in the 90s, it was all locked down by corporate gatekeepers, who, it turns out, are even worse than the government. Apple, Google, Microsoft, Amazon, WordPress, Twitter, Facebook, whoever. Can’t have anybody doing things without approval from The Corporation! Don’t forget to use our convenient phone app!
But I digress.
If I can successfully jump through Google’s hoops, I can write a script and run it with the Windows task schedular every day to upload a video automatically. Then maybe I can keep up with uploading some of the videos I record. I just recorded some 117 videos of Shadowbringers. Uploading 117 videos manually through the YouTube interface is somewhat daunting, to say the least. You think posting 31 blog posts in Blaugust is hard? Try uploading 117 videos to YouTube on 117 consecutive days. Yeesh.
It’s very easy to see why everyone abandoned YouTube Let’s Play videos in favor of Twitch “just push the start streaming button and it’s done” videos. Unfortunately I have no interest in all the weird social pitfalls that come with Twitch culture. People keep yelling about Twitch doing more to protect streamers… I’ll add to the yelling and yell for a button to completely disable Twitch chat.