GASでLINEWORKS APIを操作しユーザー登録&組織追加を実装!
- 「LINEWORKS API でユーザー登録を実装する方法を知りたい」
- 「APIを使って、ユーザーを組織追加するにはどうすればいいの??」
今回は、GASでLINEWORKS APIを使用して「ユーザー登録・組織追加」を実装する方法を解説していきます。
GASのコードを交えて解説していきますので、
LINEWORKS API でユーザー登録を実装していきたいと思っている方は参考になる内容だと思います。
目次(クリックで読みたい部分にジャンプできます)
実装前提
今回の実装においての前提があります。
「アクセストークン」を取得していることです。
まだアクセストークンを取得していない方は、以下の記事からLINEWORKS アクセストークンを取得しておきましょう。
ユーザー登録(組織追加なし)
ユーザーをしない場合のユーザー登録を実装していきます。
function addUser_LW(token, userinfo,sheet,row) {
let headers = {
"Authorization": "Bearer " + token,
"Content-Type": "application/json",
};
let data =
{
"domainId":<ドメインID>,
"email": <登録者のメールアドレス>,
"userName": {
"lastName": <苗字>,
"firstName": <名前>,
},
"privateEmail": <プライベートメール>,//--------------------------------------------------------------------①
"passwordConfig": {
"passwordCreationType": "MEMBER",
},
"hiredDate": <入社日>,//---------------------------------------------------------------------------------②
}
var options = {
'method': 'post',
'headers': headers,
'payload': JSON.stringify(data),
};
try{
let response = UrlFetchApp.fetch("https://www.worksapis.com/v1.0/users",options);
}catch(e){
console.log(e)
}
}
①について
passwordConfigで"MEMBER" を選択した場合、ユーザー自身でパスワードを再設定してもらいます。
そのため、プライベートメールアドレスが必要です。
もし、ADMINを選択した場合は、プライベートメールアドレスは必要ありません!
②について
こちらは必須項目ではありません。
自分が入社日を入れたかったので、入力しただけです。必要な方は入力してみても良いかと思います。
ユーザー登録(組織追加あり)
ここまでユーザー登録を実装してきました。
ここからは、「組織追加ありのユーザー登録」を実装していきます。
組織追加をする場合、orgUnitIdが必要になります。
そのため、以下のような順番で進めていくことになります。
- ①orgUnitIDを取得
- ②組織追加ありのユーザー登録を実施
orgUnitIDの取得
まずは、orgUnitIDの取得をします。
orgUnitIDは、管理画面などからは取得することができません。そのため、orgUnitIDの取得のためには、必ずAPIを叩かなければいけないのです。
ただ、入力する項目は多くないのでそこまで心配にならなくても大丈夫です。
function getorgUnits(token){
let headers = {
"Authorization": "Bearer " + token,
};
var options = {
'method': 'get',
'headers': headers,
}
let response = UrlFetchApp.fetch("https://www.worksapis.com/v1.0/orgunits",options);
console.log(JSON.parse(response))
}
引数は、tokenの入力のみでその他で必要なものはないです。
logのレスポンスで、組織の情報がたくさん出てくるかと思います。
その中から、追加したい組織のorgUnitIDを取得しましょう。
追加したい組織が変わる場合は、この処理と次に書く処理をつなげて書くことで、組織をそれぞれ制御できるようになりますね。
ユーザー登録&組織追加を実装
では、取得したorgUnitIDを使って、「組織追加ありのユーザー登録」を実装していきます。
function addUser_LW(token, userinfo,sheet,row) {
let headers = {
"Authorization": "Bearer " + token,
"Content-Type": "application/json",
};
let data =
{
"domainId":<ドメインID>,
"email": <登録者のメールアドレス>,
"userName": {
"lastName": <苗字>,
"firstName": <名前>,
},
"privateEmail": <プライベートメール>,
"passwordConfig": {
"passwordCreationType": "MEMBER",
},
"hiredDate": <入社日>,
"organizations": [
{
"domainId": <ドメインID>,
"primary": "true",
"orgUnits": [
{
"orgUnitId": <取得したorgUnitIDを記載>,
}
]
}
],
}
var options = {
'method': 'post',
'headers': headers,
'payload': JSON.stringify(data),
};
try{
let response = UrlFetchApp.fetch("https://www.worksapis.com/v1.0/users",options);
}catch(e){
console.log(e)
}
}
まとめ
今回は、組織追加をしながら、ユーザー登録を行う方法について解説していきました。
LINEWORKSのAPI連携についての記事は以下でまとめていますので、その他のAPI連携してみたいという方は参考にしてみてください!