Slack：Slack APIを利用してExcelワークシート上にノーコードでSlackのユーザーリストを出力する

# はじめに

Slackの管理者においては、ユーザーアカウントの棚卸し等の目的で、Slack上に現在登録されているユーザーの確認を行いたい場合があると思います。ExcelのPower QueryからSlack APIを利用すると、簡単かつ表形式の見やすい形で、しかもVBAのコードや関数を書くことなく、登録ユーザーの一覧を出力して確認することができます。



# 手順
## 【１】Slackの設定（アプリの作成とインストール）

１．以下URLへアクセスします。

### １．以下のURLへアクセスします。
https://api.slack.com/apps

### ２．「Create New App」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/64876/c4deed03-e310-4758-b289-deb6314c3e41.png)


### ３．「From scratch」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/64876/7b570834-e67a-e50c-21a0-5be42e45d709.png)

### ４．以下の設定を行い、「Create App」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/64876/646055e1-cce8-6a5f-18d2-2a1018b470f8.png)


|App Name|Pick a workspace to develop your app in
|:-------------------------------:|:--------------------------------------:|
| カスタムアプリの名前（任意の名称）|カスタムアプリを利用するワークスペースを選択|


### ５．「OAuth & Permissions」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/64876/f870b2ba-f2dc-ddb6-28f4-ffcd3b89a01b.png)

### ６．Bot Token Scopesとして、`users:read` `users:read.email` を追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/64876/e29f64db-26c7-efaf-8424-46a7a34224a0.png)

### ７．「Install to Workspace」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/64876/6c5b8dbb-fdea-6e54-195a-801c64d0ea6a.png)

### ８． 認可を求められますので「許可」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/64876/af84b4bd-4408-cd8f-3cd8-234510028381.png)

### ９．「Bot User OAuth Token」が発行されたことを確認します。（この値は後程使用します）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/64876/8be50c3b-350a-7e14-7502-00b1abae83e6.png)

## 【２】Excelの設定（Power Query）
### １．「データ」タブへ切り替え、「データの取得」－「その他のデータソースから」－「Webから」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/64876/cf7e5994-c76e-d142-bdef-8ab8ad51836e.png)

### ２．「詳細設定」を選択し、次の通り設定します。設定後、「OK」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/64876/19d122c1-4439-da6d-d9d6-a7f443b2fb0c.png)

#### URL部分

https://slack.com/api/users.list?limit=1000
※limitの値は必要に応じて調整

#### HTTP要求ヘッダーパラメーター

|項目|値|
|:--:|:--:|
|Authorization|Bearer < Bot User OAuth Tokenの値 > |

※「Bot User OAuth Token」は、手順【１】の９で出力された結果をセットします。

### ３．「匿名」が選択されていることを確認し、「接続」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/64876/fb59661e-9869-4df9-6856-6760cc0b7f29.png)

### ４．「members」の『List』を右クリックし、「ドリルダウン」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/64876/f60c658a-e154-4cee-61b3-d9902c73dbb1.png)

### ５．ヘッダー行を右クリックし、「テーブルへの変換」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/64876/ca68a19a-a377-682f-57f5-830b3e0d40cc.png)

### ６．「OK」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/64876/da5d4d25-5500-aee3-7095-c083ff5420a2.png)

### ７．Column1の右端のアイコンをクリックし、開いたリストの下端の「OK」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/64876/ea26071f-239b-0bad-ffa1-466ac9d4c5f6.png)

### ８．「閉じて読み込む」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/64876/34a1271a-2c8e-2d7a-583a-1cacdd6cdd4f.png)

### ９． Excelシート上に結果が出力されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/64876/a45be398-937a-4bc4-f53a-2c456131be34.png)

# 参考

https://api.slack.com/methods/users.list