動画形式別の登録者分析を非公開ダッシュボードにまとめる

この記事はCodex製です。

##依頼内容と課題

YouTubeチャンネルの登録者増減を、Shortsと横動画、日付、動画ごとに確認できるWeb画面が必要だった。分析結果にはチャンネル運営上の非公開情報が含まれるため、閲覧者を管理者に限定する必要がある。

##アプローチ

YouTube Analyticsの形式別・日別・動画別レポートを照合し、合計がチャンネル全体の増減と一致する場合だけ更新する。動画のサムネイルとURLはYouTube Data APIから取得する。通常動画というAPI分類だけでは横向きを保証できないため、向きを確認できない動画は別枠に分ける。元ファイルの寸法が一時的に返らなかった動画は、個別に確認した寸法を使って形式別集計が揺れないようにした。

集計は毎時実行し、Cloudflare KVへ保存する。画面と更新APIは専用のCloudflare Workerに配置する。Web画面にはCloudflare Accessのメール認証を設定し、Worker側でもAccessトークンの署名、対象アプリ、メールを検証する。

##アウトプット

期間を切り替えられる登録者推移グラフ、形式別の登録増・解除・純増、サムネイル付きの動画一覧を一つの画面にまとめた。日別の数値表も用意し、グラフの値を確認できるようにした。データに反映されない登録経路は推測せず、未分類として表示する。

##参照した一次情報