🐴
GAS × Slack:Slackユーザーの一覧を出力する
これは何
Slackのユーザー一覧を出力するためのGAS。
実行するとこうなる
ソースコード
function getSlackUser(cursor) {
const slack_app_token = "yourToken";
const limit =500;
const options = {
"method" : "get",
"contentType": "application/x-www-form-urlencoded",
"payload" : {
"token": slack_app_token,
"cursor": cursor,
"limit":limit
}
};
const url = "https://slack.com/api/users.list";
const response = UrlFetchApp.fetch(url, options);
const members = JSON.parse(response).members;
let activeArr = [];
let inActiveArr = [];
for (const member of members) {
let deleted = member.deleted;
let id = member.id;
let real_name = member.profile.real_name; //氏名
let name = member.name; //mei
let is_primary_owner = member.is_primary_owner; //プライマリオーナー
let is_owner = member.is_owner; //オーナー
let is_admin = member.is_admin; //管理者アカウント
let is_restricted = member.is_restricted; //Trueならばゲスト
let is_ultra_restricted = member.is_ultra_restricted; //true ならばシングルゲストチャンネル,Falseかつis_restrictedがTrueならばマルチチャンネルゲスト
let is_bot = member.is_bot; //botユーザー
let is_app_user = member.is_app_user; // アプリユーザー
let is_invited_user = member.is_invited_user;// 招待中
let guest_invited_by = member.guest_invited_by ; //アカウント有効期限
if (!member.deleted) {
activeArr.push([ id, deleted,real_name, name, is_primary_owner, is_owner, is_admin , is_restricted, is_ultra_restricted, is_bot, is_app_user, is_invited_user,guest_invited_by]);
}
if (member.deleted) {
inActiveArr.push([ id, deleted,real_name, name, is_primary_owner, is_owner, is_admin , is_restricted, is_ultra_restricted, is_bot, is_app_user, is_invited_user,guest_invited_by]);
}
}
//スプレッドシートに書き込み
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.clear();
sheet.appendRow(['ID','削除済','氏名','ユーザー名','プライマリオーナー','オーナー','管理者アカウント','ゲストアカウント','シングルorマルチ','botユーザー','アプリユーザー','招待中','アカウント有効期限']);
try{
sheet.getRange( sheet.getLastRow()+1,1, activeArr.length, activeArr[0].length).setValues(activeArr);
sheet.getRange( sheet.getLastRow()+1,1, inActiveArr.length, inActiveArr[0].length).setValues(inActiveArr);
}
catch(e){}
if( responseMeta = JSON.parse(response).response_metadata.next_cursor != ''){
getSlackUser(JSON.parse(response).response_metadata.next_cursor);
}
}
Discussion