【要約】【n8n】YouTube新着動画を自動でDiscord通知する仕組みを作ってみた(重複通知防止付き) [Qiita_Trend] | Summary by TechDistill
> Source: Qiita_Trend
Execute Primary Source
// Problem
YouTube運営者が新着動画をDiscordへ迅速に共有したい際、手動での通知作業は運用負荷が高い。また、単純なRSS取得による自動化では、実行のたびに同一動画が通知される重複問題が発生する。
- ・手動通知による運用コストの増大。
- ・RSS取得のみでは回避できない重複通知の発生。
- ・YouTube API利用に伴うクォータ(利用制限)の懸念。
// Approach
開発者はn8nを用い、RSS取得から通知、履歴管理までを一気通貫で行うワークフローを構築した。
- ・Schedule Triggerにより1時間間隔で定期実行。
- ・YouTube RSSを利用し、APIキー不要で動画情報を取得。
- ・Codeノードで動画IDを抽出し、整形処理を実施。
- ・Data Tableに通知済みvideoIdを保存し、既知の動画をスキップ。
- ・未通知の動画のみDiscordへ送信し、履歴を更新。
// Result
n8nのみで完結する、低コストかつ実用的な通知システムを実現した。これにより、運用者は動画投稿後の通知作業から解放される。
- ・YouTube APIのクォータを消費せずに運用可能。
- ・Data Tableの活用により、二重通知を完全に防止。
- ・他のSNSへの通知フローへの転用が容易な構成。
Senior Engineer Insight
> API制限を回避するためにRSSを選択した点は極めて合理的である。n8nのData Tableを状態管理に用いることで、外部DBなしで冪等性を確保している。ただし、通知件数が増大する場合、Data Tableの肥大化がパフォーマンスに影響する可能性がある。実戦投入時には、古い履歴を自動削除するクリーンアップ処理を組み込むべきである。