はじめに
昨今Zoomを使ったWeb会議が定常的に行われてるようになったんですが、有料ライセンスコストの削減のためライセンスを組織内で使いまわしているところは多いと思います。
僕が所属している組織でも使いまわしをしているのですが、先日ライセンスの切り替えを行っているライセンス管理者担当から「切り替えるのが面倒」「なんとかできないの」と挑戦的な要望を受けたので、Slack 経由でライセンスユーザを切り替えるアプリケーションを作ってみました。
作成に伴ってSlackAPP、ZoomAPI、Herokuと色々利用方法を調べたので、備忘のために残しておくことにします。
この記事から得れるコト
- Herokuの登録、デプロイ、Webサーバの公開方法
- Slack APIを使ったインタラクティブBotの作り方
- Zoom API(JWT)を使ったユーザリストの取得、有料ライセンスの切り替え
前提
普段、簡単なスクリプトを書くことはありますが、プログラミングのことはかなり暗いです。
今回Pythonでコーディングしましたが、ほぼ書いたこと無いレベルなので試行錯誤、ツギハギで作っているので、コード設計だったり、プログラムの書き方的な部分はあまり参考にならないかもしれません(という言い訳です)。
構成
構成イメージ
構成イメージはこんな感じです。
SlackAPI と ZoomAPIの窓口として外部サーバがあった方がいいので、今回Herokuを使ってみました。
開発環境
- Windows10
- VSCode
プログラム実行環境
- Python 3.9.1
Heroku(全て無料枠)
- Framework:Python
- Stack:heroku-20
Slack APP(利用した機能)
- Interactivity
- Slash Commands
Zoom API(利用した機能)
- JWT
備忘録まとめ
それなりに量があるので、それぞれで記事を分けました。
ZoomAPI(JWT)を使ってライセンス切替をやってみる
Herokuの登録・デプロイ・Webサーバ公開をやってみる
SlackAPPを使ったインタラクティブBOT作成
完成イメージ
こちらが完成イメージです。
スラッシュコマンドを実行するとプルダウンでメニューが送信され、ライセンス付与・削除ができるものです。
単純な仕組みですが、ライセンス管理者を介さずにライセンスの操作ができるようになったので、手間もそうですが自分の好きなタイミングで付与できようになったのがストレス軽減でかなり有益なツールになりました。
■機能
- ライセンス付与者一覧
現在ライセンス付与されているアカウントを表示 - ライセンスを削除
ライセンス対象アカウントをボタンで表示し、選択するとライセンスを剥奪 - ライセンスを付与
Zoomグループのアカウント一覧をプルダウンで表示し、選択するとライセンスを付与
最後に
今回SlackAPPとZoomAPIを使ってInteractiveなSlackBotを作って見ましたが、想像していたよりも簡単に作りたい物が作れたので、Slackでやれることの可能性が広がりました。
Pythonについてもかなりとっつきやすい言語だったので、今後もPython使って自動化していこうと思います。