GASを使ったSlackアカウント管理
Google Apps Script を使った簡単なSlackアカウント作成/無効化を紹介します。
GASを使ったアカウント作成については下記の記事が詳しいので、こちらを参照するとよいです。 qiita.com
本記事ではアカウントの無効化だけ扱います。
Slackのユーザー管理系APIの中に users.admin.setInactive というAPIがあるようなので、これを使います。 このAPIはパラメータに対象アカウントのIDを指定する必要があるため、アカウントリスト取得API(users.list)を使ってIDを取得してから無効化APIを呼び出すという流れになります。
下記にScriptの例を置いておきます。
function inactivate(email) { var del_id = ''; // Slackのユーザリストを取得 var listurl = 'https://' + slack_team + '.slack.com/api/users.list?token=' + slack_token; var listres = UrlFetchApp.fetch(listurl); var listjson = JSON.parse(listres.getContentText()); for each(var val in listjson["members"]) { if (val["profile"]["email"] == email) { // 指定のメアドを持つアカウントが存在する場合は id を保持 del_id = val["id"]; break; } } // メアドに該当するアカウントがいる場合のみ if (del_id != "") { // 指定のアカウントを無効化 var delurl = 'https://' + slack_team + '.slack.com/api/users.admin.setInactive'; var query = 'user=' + del_id + '&token=' + slack_token + '&set_active=true' var param = { method : 'post', payload : query }; var res = UrlFetchApp.fetch(delurl, param) } }
招待APIと同様、無効化APIも Slack API のメソッド一覧に無いので、いつまで使えるかはわかりませんが、参考までに。