2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Zoomライセンスの切り替えをSlackでやってみた

Last updated at Posted at 2021-09-26

はじめに

昨今Zoomを使ったWeb会議が定常的に行われてるようになったんですが、有料ライセンスコストの削減のためライセンスを組織内で使いまわしているところは多いと思います。
僕が所属している組織でも使いまわしをしているのですが、先日ライセンスの切り替えを行っているライセンス管理者担当から「切り替えるのが面倒」「なんとかできないの」と挑戦的な要望を受けたので、Slack 経由でライセンスユーザを切り替えるアプリケーションを作ってみました。

作成に伴ってSlackAPP、ZoomAPI、Herokuと色々利用方法を調べたので、備忘のために残しておくことにします。

この記事から得れるコト

  • Herokuの登録、デプロイ、Webサーバの公開方法
  • Slack APIを使ったインタラクティブBotの作り方
  • Zoom API(JWT)を使ったユーザリストの取得、有料ライセンスの切り替え

前提

普段、簡単なスクリプトを書くことはありますが、プログラミングのことはかなり暗いです。
今回Pythonでコーディングしましたが、ほぼ書いたこと無いレベルなので試行錯誤、ツギハギで作っているので、コード設計だったり、プログラムの書き方的な部分はあまり参考にならないかもしれません(という言い訳です)。

構成

構成イメージ

image.png

構成イメージはこんな感じです。
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グループのアカウント一覧をプルダウンで表示し、選択するとライセンスを付与

ライセンス付与
assign6.gif

ライセンス削除
delete.gif

最後に

今回SlackAPPとZoomAPIを使ってInteractiveなSlackBotを作って見ましたが、想像していたよりも簡単に作りたい物が作れたので、Slackでやれることの可能性が広がりました。
Pythonについてもかなりとっつきやすい言語だったので、今後もPython使って自動化していこうと思います。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?