Google Apps Scriptで簡単に!SlackのメンバーIDを取得する方法
GASを使ってSlackメンバーIDを取得する準備
GASでSlackのメンバーIDを取得するためには、まずSlack APIを使えるように準備を整える必要があります。
Slack API Tokenを用意する
Slack APIを利用するために必要なSlack API Tokenを生成します。
SlackのWebサイトにログインし、「Your Apps」から新しいアプリを作成します。
アプリのスコープに「users:read」を追加し、ユーザー情報へのアクセスを許可します。
生成されたAPI Tokenを控えておきましょう。
GASプロジェクトを作成する
次に、GoogleのスプレッドシートからGASプロジェクトを作成します。
スプレッドシートを開いて「拡張機能」から「Apps Script」を選択します。
新しいGASプロジェクトが開かれたら、スクリプトを書ける準備が整いました。
GASコードでSlackメンバーIDを取得する
いよいよGASでSlackメンバーIDを取得します。難しそうに見えますが、実際にはシンプルなステップです。
SlackメンバーID取得のためのスクリプト
このスクリプトを使って、SlackのメンバーIDを取得します。
function fetchSlackMemberIds() {
const token = 'YOUR_SLACK_API_TOKEN';
const url = 'https://slack.com/api/users.list';
const options = {
method: 'get',
headers: {
'Authorization': 'Bearer ' + token,
}
};
const response = UrlFetchApp.fetch(url, options);
const data = JSON.parse(response.getContentText());
if (data.ok) {
const members = data.members.map(member => ({
name: member.real_name,
id: member.id
}));
Logger.log(members);
} else {
Logger.log('Failed to retrieve Slack members: ' + data.error);
}
}
このスクリプトはSlack APIを利用してチームのメンバーリストを取得します。
取得したメンバー情報は、real_nameとidを持つオブジェクトの配列としてログに出力されます。
スクリプトの実行
スクリプトエディタで「▶」(実行)ボタンを押すと、スクリプトが実行されます。
ログにメンバーの名前とIDが表示されます。これで、SlackメンバーIDの取得が完了です。
練習問題
- Slack API Tokenを入手する手順を説明してください。
- GASでSlackメンバーIDを取得するスクリプトを実行したとき、何がログに表示されるか説明してください。
- 取得したいメンバーの情報を増やしたい場合、スクリプトにどのような変更が必要か考えてみてください。
解答・解説
1. Slack API Tokenを入手する手順:
- Slackにログインし、「Your Apps」から新しいアプリを作成します。
- アプリに「users:read」スコープを追加して、ユーザー情報の取得を許可します。
- 生成されたAPI Tokenを確認し、控えておきます。
2. スクリプト実行時のログ出力:
- 実行すると、チームのメンバー情報が名前(real_name)とID(id)としてログに表示されます。
3. メンバー情報を増やすには:
- スクリプトの <code>members</code> 配列で、必要なプロパティを追加します。例えば、以下のように status_text を取得するコードを追加します。
const members = data.members.map(member => ({
name: member.real_name,
id: member.id,
status: member.profile.status_text // 新しいプロパティを追加
}));
status_text を追加した場合、メンバーのステータステキストも合わせて表示されます。