お久しぶりです。ここ最近技術系ブログ書いてなかったので、ちょっと技術的ネタを。
概要
- Zapier とは
- YouTube と Slack を接続する
- 本来の目的
- まとめ
- 余談
1. Zapier とは
“What is Zapier?”をみると
Zapier lets you easily connect the web apps you use, making it easy to automate tedious tasks.
筆者意訳:
Zapier は Webアプリを簡単に接続できます。長ったらしく退屈な作業を簡単に自動化することが可能です。
先に言いますと、YouTube と Slack を連動させたりできます。その連動のメッセージ内容は自由に設定できたり…
2. YouTube と Slack を接続する
テキトーに会員登録済ませましたら、まず自分の持っている YouTube チャンネルの動画投稿を Slack へ送信するという機能を実装してみましょう。
あとは手順に従ってチャンネル ID や Slack の投稿先、メッセージを入れていけばおkです。
3. 本来の目的
あれ… よく見てみたら
YouTube Live 開始通知できないんじゃね?
はい、できません…
ってことで、調べました。
Web でも番組がオンラインかオフラインか、定期チェックしてる API がありました。非公式なので使えなくなる可能性がありますが… それを Python で実装して JSON で取得しました。
import requests import json url = 'https://www.googleapis.com/youtubei/v1/player/live_state?alt=json&key=[your_live_key]' data = {"context":{"client":{"clientName":"WEB","clientVersion":"1.20160609","hl":"ja","gl":"JP"}},"videoId":"[your_live_id}"} r = requests.post(url, json=data) output = r.json()
そしたら、このプログラムを定期実行(Business 以上; 5 分ごと)にチェックし、ライブ配信がオフラインからオンラインになっているときのみツイートや Slack への投稿をすればいいわけです。
今回はそのあたりは載せませんけど、Zapier のストレージを使って実現したことだけは書いておきます。その Zapier からツイートさせた実行結果がこちらです。
スプラトゥーン配信始まったと思うよ! https://t.co/UyvResgqsu
— モノトーン (@mntone) 2016年6月10日
目的は達成されました。
4. まとめ
Zapier ちょっとお値段高いかなぁって思ったり。今は無料トライアル期間で試している感じですが、しばらく運用かなーと。
以上、Zapier の紹介でした。
5. 余談
本当は YouTube のプッシュ通知を受け取ってデスクトップ通知するアプリでも書いちゃおうかなーって思ったんですけど、めんどくさくてコード一行も起こさないで終わってしまいました。一応こちらは公式公開されてる API なので実装したらよかったんですけどね。まあやる気ある人やったらいいと思いますよ。