Node.js + YouTube Data APIでプレイリスト内の動画を全て高評価する
私はYouTubeで気に入った音楽を全ておおまかなジャンルで分けてプレイリストに入れていて、この際高評価を必ずセットで行うルーティーンがあるため、毎回ボタンを押す必要がある。
面倒という程でも無いが、やる事が確定している作業なので自動化した。
(コマンドライン引数が複数必要なスクリプトは意外と初めて書いたので、util.parseArgs
を初めて使った。)
youtube-playground/scripts/rate-all-videos-in-playlist.ts at 34298b81049b862a8780053c2dd063760479775c · waonpad/youtube-playground
私の場合ただのコレクション欲で高評価を押していて、見返したい時にそれが揃っていれば良い事、ブラウザのYuTube, YouTube Music, スマホの各アプリから動画を視聴する事を考慮し、GitHub Actionsのワークフローを手動実行する事で高評価が行える事を自動化のゴールとしている。
コード自体は添付リンクのコミットハッシュの状態で見てもらえれば良いしgoogleapisでAPIを叩いているだけなので特に難しい事はしていないが、高評価を行う以上高評価を行いたいアカウントでOAuth2認証フローをブラウザで一度通す必要があった。
認証関連のセットアップを含むREADMEを参照されたし。
(http.createServer
を初めて使ったのでこれについても少し調べた。)
youtube-playground/README.md at 34298b81049b862a8780053c2dd063760479775c · waonpad/youtube-playground
取得したシークレット等と高評価を行う動画の入ったプレイリストIDをGitHubリポジトリに設定する事でGitHub Actionsから好きな時に高評価を実行できる。 (たまたま気になったのでGitHubのEnvironmentsについて調べた。) youtube-playground/.github/workflows/like-all-videos-in-playlist.yml at 34298b81049b862a8780053c2dd063760479775c · waonpad/youtube-playground
以上。 YouTube関連は気が向いたらまた遊べそう。