GSuiteは、そのドメイン全体を、サービスアカウントに対して委任することができる。 GSuite Admin Consoleから、委任するサービスアカウントを指定し、委任するスコープを設定できる
このDelegationの仕組みを利用することで、指定されたスコープのユーザーのアクセストークンをサービスアカウントが取得することができる。
これは、ユーザーになりすます(Become)してアクセスされるため、プラバシーに配慮が必要。
const jwtClient = new google.auth.JWT({
keyFile: path.join(__dirname, "credentials.json"),
scopes: ['https://www.googleapis.com/auth/admin.directory.group.readonly'],
subject: $EMAIL_ADDRESS
});
$EMAIL_ADDRESS
の部分に、Becomeしたいユーザのメールアドレスを指定する。