Lemme know if you find it useful.
I wrote this because none of the CPAN modules that purport to talk to Youtube seem to function offline (they all expect to be being run from a web server back-end with access to login cookies or something), which incidentally is the same reason that all of the Facebook tools in CPAN are useless.
Also, the existing tools seem to all talk the Youtube v2 protocol, which they deprecated a while ago, so it's presumably not long for this world. The v2 protocol was, of course, much easier to use than the v3 protocol. That will not stand: it had to be killed.
OAuth is really terrible, you know. Unrelentingly terrible. Also, water is wet.
The contortions required to use the Youtube API are very similar to -- yet different from in absolutely every particular -- to the contortions required to use the Facebook API, or the Twitter API. It's like OAuth is more of a "stylistic flourish" than an actual API. Saying that two services both use OAuth seems to be about as meaningful as saying that two cars are red. They're basically the same car, right?
I had to go through this OAuth crap (including the --generate-session nonsense) with my facebook-rss.pl hack, and though many of the function names are the same, they really can't share any code. It's insane.