1
2

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 3 years have passed since last update.

GASでAdminSDK APIを使って退職処理

Posted at

Gsuiteの退職処理の自動化で、GoogleのAPIの使い方でつまづいたので備忘に

#やること
・退職者のパスワードを変更
・Googleグループから退職者を削除

#退職者のパスワードを変更

ランダムパスワードの生成
変数「S」で指定した文字列から「N」個抜き出してパスワードを作成します。

Code.js
const S="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
const N=10;
const password = Array.from(Array(N)).map(()=>S[Math.floor(Math.random()*S.length)]).join('');

Admin SDK APIでユーザーのパスワードを変更
passwordに変更したいパスワードを
userKeyにパスワードを変更するユーザーのアドレスを入れる。

Code.js
const userKey = "パスワードを変更するユーザーのメールアドレス"
const payload = {"password": password};
AdminDirectory.Users.update(JSON.stringify(payload),userKey);

全体はこんな感じ

Code.js
function myFunction(){
    const S="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    const N=10;
    const password = Array.from(Array(N)).map(()=>S[Math.floor(Math.random()*S.length)]).join('');

    const userKey = "パスワードを変更するユーザーのメールアドレス"
    const payload = {
    "password": password,                            
    };
    AdminDirectory.Users.update(JSON.stringify(payload),userKey);
};

#Googleグループから退職者を削除
userKeyで指定したユーザーが所属しているグループの一覧が、
json形式でビャッと出てきます。

Code.js
AdminDirectory.Groups.list({userKey:"ユーザーのアドレス"});

指定したグループから指定したユーザーを削除します。

Code.js
AdminDirectory.Members.remove("グループのアドレス","ユーザーのアドレス")

取得したリストからグループのメールアドレスを取り出して、
ユーザーをグループから削除します。
グループのメールアドレスはgroupList.groups.emailに入っています。

Code.js
const groupList = AdminDirectory.Groups.list({userKey:"ユーザーのアドレス"});
for (let i = 0; i < groupList.groups.length; i++) {
    const group = groupList.groups[i];
    AdminDirectory.Members.remove(group.email,"ユーザーのアドレス");
};
    

うちでは退職者のGsuiteアカウントは3か月保管するので、
ついでに退職者用のグループに追加します。

Code.js
    
AdminDirectory.Members.insert({email:"ユーザーのアドレス",role:"MEMBER"},"退職者用のグループのアドレス");
1
2
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
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?