1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

LINE WORKS メンバー100名以上を一括追加

Last updated at Posted at 2023-03-01

LINE WORKSで100名以上のメンバーを一括追加したい

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

今回は、メンバー一括追加です。
LINE WORKSは管理画面からCSVファイルをアップロードして一括追加が可能ですが、一度に100名までが上限となっています。

APIであれば、100名以上の流し込みは可能です。
そこで、LINE WORKS API2.0 x GAS を使って、Google Sheet に入力したデータを流し込みます。

実行イメージ

Google Sheetにメンバー情報を入力し、インポート開始ボタン押下
image.png

インポートする件数を確認し、OK
image.png

インポート完了
image.png

実行結果をログで確認
image.png

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

必要なもの

  • Googleアカウント(無償でもOK)
  • LINE WORKS Developers Consoleへのアクセス権限を持つID
  • LINE WORKS 便利ツール

事前準備

1. LINE WORKS Developersから認証情報をコピー

LINE WORKS Developers へアクセスして、アプリを新規追加します

image.png

「アプリの説明」に任意のテキストを入力します
Client ID」をコピーしてメモしておきます
Client Secret」をコピーしてメモしておきます
「Redirect URL」に任意のURLを入力します
Domain ID」をコピーしてメモしておきます

image.png

OAuth Scopes」の管理にて、とりあえずすべてのScopeを選択して保存します。
*Scopeは利用範囲に応じて狭めてください

image.png

Service Account」をコピーします
Private Key」の発行ボタンを押してkeyファイルをダウンロードします

image.png

2. GASの設定

Google Sheetのテンプレートをコピーします

シート「jwtGenerator」を開き、
image.png
「事前設定」のフィールドに先ほどコピーした

  • Client ID
  • Client Secret
  • Service Account
  • Private Keyのファイル名 (「private_2023xxxxxxxx.key」というような名称)
  • OAuth Scopesはそのまま
  • Domain ID
    を、それぞれ入力します

Private KeyファイルをDriveにアップロードする

つぎに、先ほどLINE WORKS Developers Consoleからダウンロードした
Private Keyファイルを、「LINE WORKS 便利ツール」と同じGoogle Driveのロケーションに配置します。

ロケーションへの移動の仕方は以下

image.png

ドラッグ&ドロップで.keyファイルをアップロード

image.png

3. token発行のテスト

jwtGeneratorシートにもどり、
「トークンを発行」ボタンを押します

image.png

Access Token と Refresh Tokenに何やら文字列が表示されたら、テスト成功
LINE WORKS便利ツールの準備完了です。

文字列がなにも表示されない場合は、
手順を最初から見直してみてください。

メンバーを一括追加する

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

「importUser」シートを開きます

image.png

1行目の「記入例」を参考に、情報を入力していきます。

項目 説明
姓名 どちらか一方は必須
ログインID 必須。ログイン時に使うID。Advanced Planの場合はメールアドレス
パスワード 管理画面のパスワードポリシーを適用,
空白の場合はメンバー自身で設定
カナ姓名 任意
英語姓名 任意。多言語表示の場合に適用
個人メールアドレス 任意。パスワードが空白の場合は必須
ニックネーム 任意
組織のexternalKey 任意。*Developers Console設定した組織のexternalKeyを指定する
複数指定する場合はカンマ区切り(例:org1,org2,org3)
役職のexternalKey 任意。*Developers Consoleで設定した役職のexternalKeyを指定する
複数指定する場合はカンマ区切り(例:pos1,pos2,pos3)
利用権限タイプのexternalKey 任意。*Developers Consoleで設定した利用権限タイプのexternalKeyを指定する
電話番号 任意
携帯番号 任意
言語 任意。日本語は ja_JP
韓国語:ko_KR, 英語:en_US, 中国語(簡体):zh_CN, 中国語(繁体):zh_TW
住所 任意

*組織、役職、利用権限タイプを指定する場合は、事前にまず externalKeyの設定が必要です。
手順は以下を参照してください。

Developers Console 組織連携 へアクセスし、
画面をスクロールして、「External Key Mapping」のセクションを表示します

image.png

External Key Mappingのセクションで、
「一覧のダウンロード」よりCSVファイルをダウンロードします。

image.png

CSVファイルを開き、「External Key」のカラムに、任意のexternal Keyの値を入力し、
保存 > アップロードします。

データチェックでエラーが発生したら、内容を確認して再度アップロードしてください。
成功したら、externalKeyの設定完了です。

2. インポート開始

データが準備できたら、インポート開始ボタンを押します。

image.png

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

image.png

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

image.png

失敗した場合は、その時点のログインIDと、エラー理由が表示されます
以下はIDが重複していたケース

image.png

3. 実行結果の確認

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

image.png

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

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


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

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

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

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?