LINE WORKS 複数メンバーを一括削除

## LINE WORKSで複数のメンバーを一括で削除したい

LINE WORKSの標準機能では出来ないあれやこれやを、
LINE WORKS API 2.0 x GASを使ってサクッと解決するシリーズ

今回は、**メンバー一括削除**です。

アカウントの削除は、下図のとおり、手動で対象ユーザのチェックを入れていく必要があります。
数件だったらいいけど、短期間で何百件のメンバー増減がある場合はちょっと大変です。


<img width="500" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727469/8a544c83-2765-6bf9-4d18-2835e6841cdd.png">


APIを使えば一括削除が可能です。
そこで、LINE WORKS API2.0 x GAS を使って、Google Sheet に入力したデータを一括削除します。 




#### 実行イメージ

Google Sheetにメンバー情報を入力し、「削除」または「即時削除」ボタン押下
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727469/c0071561-437a-b082-d74e-26c8ec2dd47d.png)


件数を確認し、OK
<img width="600" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727469/4b5e3dca-4c91-5e7a-3530-5adb53b13b44.png">


削除完了
<img width="400" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727469/517c9f05-7998-3a60-1320-b0765a2ef25c.png">


実行結果をログで確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727469/ddae8c64-4b76-2b57-7716-fcc214ed6b77.png)


:::note info
GASはスクリプトの実行時間が最大6分という上限があるため、
一回の処理で流し込めるメンバー数はだいたい300~360名ほどです
それ以上の数を実行する場合は、処理が止まった時点から続けて実行してください。
:::

## 必要なもの
* Googleアカウント（無償でもOK）
* LINE WORKS Developers Consoleへのアクセス権限を持つID
* [LINE WORKS 便利ツール](https://qiita.com/nonattonolife/items/16181d666b8246e3f28d)


## 事前準備


以下の記事を参考に、LINE WORKS 便利ツールを使うための事前準備をしてください。
すでに完了している場合はスキップしてください

https://qiita.com/nonattonolife/items/16181d666b8246e3f28d


## メンバーを一括削除する

### 1. メンバー情報を入力する

LINE WORKS便利ツールの「deleteUsers」シートを、隠しフィールドから選択して開きます

<img width="600" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727469/5a2884f0-4a9e-6d29-0d35-ac3825afaa0a.png">


A列に削除したいデータを入力していきます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727469/ea7f94cf-c438-58bf-f33b-a83b1f64c900.png)




### 2. 削除開始


データが準備できたら、削除するボタンを押します。

### 通常の削除の場合
* 削除後、データを7日間保持します
* 復職処理をすると、アカウントを復元できます
* 保持期間中は、同じ文字列のIDを作成することは出来ません
* 保持期間中は、利用中のライセンスとしてカウントされます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727469/150f409f-b1e4-2189-3dd3-c0cdaeccbbbb.png)

### 即時削除の場合
* データ保持期間無く、即時に削除されます。データは復旧できません
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727469/0b78756c-7cd7-8136-eddd-f6abb695f4ff.png)

:::note warn
削除する前に必要に応じてデータをバックアップしてください
:::


ポップアップの確認で「OK」します。

<img width="600" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727469/4b5e3dca-4c91-5e7a-3530-5adb53b13b44.png">


削除完了
<img width="400" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727469/517c9f05-7998-3a60-1320-b0765a2ef25c.png">

１件あたりの実行に約１秒を要します
処理が完了、または途中で失敗したら、その時点で処理を中止して、ポップアップが表示されます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727469/8237b94c-1713-99b9-bef2-c4246d109325.png)


### 3. 実行結果の確認

「log」シートを開きます
タイムスタンプ、実行結果、削除したログインIDが記録されます。
失敗して途中で処理が止まった場合は、どこまでのIDが削除できているかログから確認し、
続きのデータを削除できるようdeleteUserシートを修正した上で再実行しましょう。

実行結果をログで確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727469/ddae8c64-4b76-2b57-7716-fcc214ed6b77.png)


今回はメンバー一括削除を紹介しました。
ただ、GASのスクリプト実行が6分間までなので、
1,000以上のメンバーを一気に削除したい場合は、小間切れになってしまいやはりちょっと手間ですよね。

どうしても一気に流し込みたい！という方は、
以下、masato-3さんのPowerShellで一括削除ツールもお試しください。こちらは制限時間もなく一気にいけます。
https://github.com/msato-3/Import-LWUsers/



-----------------------------------

LINE WORKSの標準機能では出来ないあれやこれやを解決するLINE WORKS便利ツール
今後はこんなツールを予定しています

* ユーザを一括削除したい
* 組織を一括追加したい
* グループを一括追加したい
* ID名を一括変更したい
* メッセージを一斉配信したい
* 監査ログを自動保存したい
* SNSのコメントやメッセージをLINE WORKSへ通知したい
etc...

今後なにかご要望があればお知らせください
作ってみるかもしれないです。