カスタムスクリプトの利用【LINE WORKS編】
作成日:2019年2月26日 | 更新日:2020年5月21日
[確認ビルド] ビルド6651
カスタムスクリプト機能を利用してLINE WORKSと連携させる場合の手順をご紹介します。
※本ナレッジでご紹介している手順はご利用の一例となりますので、お客様の環境に合わせてご利用ください。
カスタムスクリプト機能のご説明については、以下をご参照ください。
要件
ADManager Plusから新規にユーザーを登録した際に、LINE WORKSにも同時にメンバーを追加する。
設定手順概要
1. 準備
2. LINE WORKSで必要情報を登録
3. スクリプトを作成
4. ADManager Plusでカスタムスクリプトを設定
5. LINE WORKSで組織連携を有効化
6. その他のLINE WORKSと連携させた場合の利用方法
■ 本ナレッジでの条件
本ナレッジでのLINE WORKSとの連携条件は以下の通りです。
・LINE WORKSライトプランを利用
・Server List(固定IPタイプ)を利用
・LINE WORKSのメンバー追加APIを利用
・Power Shellでスクリプトを作成
1. 準備
ADユーザー属性とLINE WORKSの値をどの値に紐づけるかあらかじめ決定します。
例)
ADユーザー属性 | LINE WORKSの値 |
sAMAccountName | name |
sn | lastname |
givenName | firstname |
2. LINE WORKSで必要情報を登録
A) Server API Consumer Keyを登録
APIを利用するにために、APIの有効期限を決めるConsumer Keyを登録します。
1. LINE WORKSのDeveloper Consoleにログイン
画像:LINE WORKS Developersログイン画面
2. Consoleの欄の[API]をクリック
3. Server API Consumer Keyの[発行]をクリック
画像:LINE WORKS Developers画面
4. 利用するAPIの範囲を指定
APIを利用する範囲を選択してください。今回はメンバーの追加を行うので「組織連携」を選択します。
画像:Server API Consumer Keyの設定1
5. Server API Consumer Key管理を設定
Tokenの有効期間 | 任意の日にち |
Tokenの使用時に有効期間を自動延長しますか? | はい/いいえ |
※Tokenの有効期限が切れると、APIを利用できなくなります。
※Consumer Keyの詳細事項についてはLINE WORKSのホームページをご確認ください。
画像:Server API Consumer Keyの設定2
B) Server List(固定IPタイプ)にADManager Plusサーバーを登録
APIを利用するにために、スクリプト内にトークンを記述します。トークンを発行する手順は以下の通りです。
1. Developer Consoleの[API]をクリック
2. Server List(固定IPタイプ)の[追加]をクリック
画像:LINE WORKS Developers画面
3.Server Listに次の情報を記入し、[同意して利用する]をクリック
サーバー名 | ADManager Plusのサーバー名を入力 |
Keyの選択 | 上記で作成したKeyを選択 |
IP | ADManager PlusのグローバルIPアドレスを記入 |
画像:Server List設定された画面
3. カスタムスクリプトを作成
LINE WORKSでSSOを利用していない場合、登録待ちとなります。個人メールアドレス宛に認証メールが送信されます。
本ナレッジではPowerShell スクリプトで作成します。
- Request URL
https://apis.worksmobile.com/r/{API ID}/organization/v2/domains/{domainId}/users/{externalKey}
- HTTP Method
POST
- Request Parameters
必須パラメータ
・email
・name
・name.lastName
・organizations[].domainId
・organizations[].orgUnits[].externalKey
・messenger.protocol
・messenger.messengerId
記述例)
※変数にsAMAccountName、sn、givenName、mail属性を利用しています。
$sAMAccountName = $Args[0]$mail = $Args[1]$sn = $Args[2]$givenName = $Args[3]$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"$headers.Add("Content-Type","application/json; charset=UTF-8")$headers.Add("consumerKey","uZPtEyXfevdD4DIwwvbJZmK")$headers.Add("Authorization","Bearer A8Xch5XkFK+nbbDzS0oDjGcOzyMaGbEOWh/p3aFO6XAAA9c4VSBBWrn2L/MJvgAoFkTJu0V6Eifrd+K6fAKX73Ckii9HR9DQQjjtLyqm1XPXt5qmq1yhAvDh+oFRXhQbOFJmTqmYIS0jhUytvyIvEqOPCXExXZqzMi4hhB5gc9n2vnJvAcKSXGvVBCQhepKzblOPAi1qU+Wc1th2dk5xYHblp0fVTfjSA2HQDvfFw4PAWgDL2ZLNP+DEz+iBuS0dkTGNvMwW4fEBOHMKPZ0zma0/pqzqgCVgd00FYWrMeRe61qxHtCf5W4Bf4L76Y6eWWQglby0TrzGk2UGkY7smVx42zQ4=")$headers.Add("Cache-Control","no-cache")$json = @"{"email": "$sAMAccountName@sample-domain.local","name": {"lastName": "$sn","firstName": "$givenName"},"privateEmail": "$mail","searchable": true,"organizations": [{"domainId": "10041752","orgUnits": [{"externalKey": "$mail"}]}],"messenger": {"protocol": "LINE","messengerId": "$sAMAccountName"},"birthday": "1980.01.01","hireDate": "2018.01.01","locale": "ja_JP","timeZone": "Pacific/Midway"}"@$Uri = "https://apis.worksmobile.com/r/jp1mOlJofjzQI/organization/v2/domains/10041752/users/$sAMAccountName"Invoke-RestMethod -Uri $Uri -ContentType 'application/json' -Method Post -Header $headers -Body $json
【 サンプルスクリプトをダウンロードする 】
※お客様の環境に合わせてご利用ください。
スクリプトの詳細内容については、LINE WORKSのメンバー追加APIページをご覧ください。
4. ADManager Plusでの手順
1. ログインし、AD管理>ユーザー作成テンプレートをクリック
画像:ADManager PlusのAD管理画面
2. [新規テンプレート]を作成をクリック
※既に作成したテンプレートに設定する場合は、該当テンプレートの編集ボタンをクリックします。
3. [カスタム属性]タブをクリック
画像:ADManager Plusテンプレート編集画面
4. [ユーザー作成に成功したらカスタム スクリプトを実行する]オプションを有効化
画像:ADManager Plusテンプレート編集画面、カスタム属性タブ
5. スクリプトコマンドを入力
構文:powershell <ファイルのパス> <コマンドラインの変数>
記入例)
powershell C:\Users\kAdministrator\Documents\LINEWORKS\lineWorks_CreateUser.ps1 %samaccountname% %mail% %sn% %givenname%
6. [テンプレートを保存]をクリック
5. LINE WORKSで組織連携を有効化
1. LINE WORKSのDeveloper Consoleにログイン
画像:LINE WORKS Developersログイン画面
2. Consoleの欄の[組織連携]をクリック
3. [組織連携使用設定]で[組織/構成員]を有効化し、[適用]をクリック
画像:LINE WORKS Developers画面
※組織連携を有効化すると、該当の項目は管理者画面から編集できなくなります。
以上です。
新規ユーザーを作成する場合に上記のテンプレートを利用すると、ADユーザー作成と同時にLINE WORKSにもメンバーが追加されます。
6. その他のLINE WORKSと連携させた場合の利用方法
・ADユーザーを更新すると同時にLINE WORKSのユーザー情報を更新する場合:
【 サンプルスクリプトをダウンロードする 】
・ADユーザーを削除すると同時にLINE WORKSのユーザーを削除する場合:
【 サンプルスクリプトをダウンロードする 】
・AD上でOUを作成すると同時にLINE WORKSのグループを作成する場合:
【 サンプルスクリプトをダウンロードする 】