1.はじめに
好きなYoutubeチャンネルの動画が上がってくるたびに、スマホやタブレットの通知で来るのは非常にありがたいのだが、通知欄が埋まるのが嫌なのと、好きなyoutubeチャンネルごとにSlackに通知を出すような設定したらいいんじゃないかと思ってやってみたところ、思いの外コードとか書かずにできたので記載する。
必要なもの
- 「microsoft」アカウント
- 無料で作成可能(今回使用するのはすべて無料でできる範囲です。)
- Slackのワークスペース
- 送信先で必要
- Youtubeアカウント
- 設定時に必要
- 通知したいyoutubeのチャンネルIDもしくはチャンネル名
- 設定時に必要(今回はパリーグTVのチャンネルの動画を使用します。)
実施方法
1.Power Automateに登録する
「microsoft」アカウントがあればサインインでOK
なければ「microsoft」アカウントを登録するか、下記より「無料で試す」からメールを送って登録すればOK
https://powerautomate.microsoft.com/ja-jp/
2.登録後フローを作成する
「Power Automate」を登録後、「作成」から「自動化したクラウド フロー」を選択し、作成していく。
※「Power Automate」ではコードを書くというよりも、UI上で指定の処理やトリガを並べて処理のフローを作っていく感じ。
そうすると以下のような画面が表示される。
「フロー名」は単純にフローのタイトル、「フローのトリガーを選択してください」には「youtube」と入力すると、「チャンネルによって動画がアップロードされたとき」というトリガーが出てくるのでそれを選択し「作成」ボタンを押下する。
3.編集画面でフローを設定していく
そのまま後続の処理を作成していく。
3-1.youtubeの設定
youtubeを設定すると、事前に連動する必要があるので、自分のyoutubeアカウントを使ってサインインをする。
そうするとこんな感じで出てくるので、プルダウンでチャンネル名を選択するかプルダウン最下部にある「カスタムIDの入力」からyoutubeのチャンネルIDを入力する。
3-2.Slackへの送信
「新しいステップ」を押下し「Slack」と検索すると「アクション」に「メッセージの投稿」と出てくるので選択する。
※ここでSlackと3-1の時と同様にSlackと連動させる必要があるので、設定したいSlackのワークスペースにログインし同期させる。
そうすると投稿先のチャンネル名と投稿するときの文言を設定することができる。
なおこの時、youtubeから取得した情報を文言で設定できる。
下記のイメージでは「test」チャンネルに文言に加え「動画名」と「動画のURL」が表示されるように設定したもの
4.保存して実際に動くことを確かめる。
「保存」ボタンを押下し、右上に存在する「テスト」ボタンを押下して実際にSlackに飛ぶことを確かめる。
とりあえず「自動」を設定し、そのまま実行してSlackにメッセージが送信されることを確かめる。
下記のイメージは成功した場合。
5.youtubeの動画上がったタイミングで通知が来ることを確かめる。
実際にフローが機能していることがわかったので、今度はチャンネルの動画が更新されたタイミングで通知が来るかどうか確かめる。
それでメッセージが送信された場合は成功。
(ただし、動画投稿後10~20分ぐらいトリガーが発動するのに時間がかかるので、そこは気長に待った方が良いかも。)
おわりに
単純に動画のアップロード通知ぐらいならyoutubeのAPIから取得してやるより、Power Automateで実行させた方が環境構築もいらないので、適当にググりながら小一時間ぐらいで設定ができた。
他にも3-2の時点で、Slackに投稿するbotの名前やアイコンもPower Automateで設定できるのでやっていることはシンプルだけど改良のやりがいはありそう。