自分のYoutubeチャンネルにアップロードした動画も283(2022/2/28時点)となりました。全く日の目を見られない動画も多数…。
動画を掘り起こして適切な人の目に触れさせることはYoutube自身がやってくれているので私が何かしても別に意味はない…のではありますが、せっかくなので自分のTwitterのフォロワー向けに定期的に紹介することをしたいなと思いました。
そこで、Azure Functionsのタイマートリガーで定期的に下記の処理を実行させることにしてみました。
- Youtubeの特定チャンネルのアップロード動画の一覧を取得
- 動画一覧の中から1つの動画をランダムでピックアップ
- 動画のタイトルとURLを含むtweetを行う
ソースはここに置いてあります。
https://github.com/ebibibi/youtubemanagement/tree/main
YoutubeのDataAPIは初めていじってみました。Webで公開して誰でも使える…という構造ではなく自分専用なのでOAuthではなくAPIキーを使う形で実装しました。
- アプリケーションを登録する
- APIキーを作成する
- googleapisライブラリを使う
- Channels:listにてforUsernameを指定してリスト一覧を取得→UploadsのリストのIDを取得
- PlaylistItems:listにて動画の情報を50件づつ最後まで取得
という感じにしてみました。