GASを使ったSlackアカウント管理
Google Apps Script を使った簡単なSlackアカウント作成/無効化を紹介します。
GASを使ったアカウント作成については下記の記事が詳しいので、こちらを参照するとよいです。
公開Slack用 自動招待フォーム by GAS - Qiita
本記事ではアカウントの無効化だけ扱います。
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 のメソッド一覧に無いので、いつまで使えるかはわかりませんが、参考までに。