YouTube Data API は、動画・チャンネル・プレイリスト・コメントといった YouTube 上の情報を検索・取得するための公式 API だ。自サイトに特定チャンネルの最新動画を並べる、テーマごとに動画をキュレーションする、といった「YouTube の情報を外に持ち出す」用途で使う。
quota という制約が設計を決める
このAPIを使ううえで最初に理解すべきは日次 quota だ。1 日あたり 10,000 ユニットが付与され、操作ごとにコストが異なる。とりわけ search エンドポイントは 1 回で 100 ユニットを消費するため、検索を多用すると 1 日 100 回程度で枯渇する。一方、ID 指定での動画情報取得は 1 ユニットと安い。
現実的な作り方
そのため実装は「検索は最小限、取得は ID 指定で」が定石になる。チャンネルの新着を追うなら search を毎回叩くのではなく、playlistItems(アップロード用プレイリスト)を辿る方が quota を節約できる。取得した結果はキャッシュし、更新は数時間〜1 日おきにバッチで回す設計が向く。
逆に、大量の動画データを毎日リアルタイムに近い頻度で集めたい分析用途には quota が足かせになる。その規模なら quota 増枠申請を検討するか、用途自体を見直す必要がある。
表示と利用規約の縛り
YouTube Data API で取得した情報を自サイトに出す場合、再生は YouTube の埋め込みプレーヤー経由にする、サムネイルやメタデータの扱いを規約に沿わせる、といった条件が API サービス利用規約で定められている。動画ファイルそのものを取得して自前で配信することはできず、あくまで「YouTube 上のコンテンツへ誘導する」前提で設計する必要がある。
コメント・統計の鮮度
再生回数やコメントは時間とともに変わるため、取得したスナップショットをそのまま長期間表示すると古い数字を見せ続けることになる。統計値を見せるなら更新頻度を決め、quota の消費とのバランスでバッチ間隔を調整するのが現実的だ。