Class Group

グループ

メンバーとグループ内のそれらのメンバーのロールに対してクエリを実行できるグループ オブジェクト。

グループのメンバーを示す例を次に示します。実行する前に、グループのメールアドレスをドメインのメールアドレスに置き換えます。

function listGroupMembers() {
  const group = GroupsApp.getGroupByEmail('example@googlegroups.com');
  console.log(`${group.getEmail()}:`);
  const users = group.getUsers();
  for (let i = 0; i < users.length; i++) {
    const user = users[i];
    console.log(user.getEmail());
  }
}

メソッド

メソッド戻り値の型概要
getEmail()Stringこのグループのメールアドレスを取得します。
getGroups()Group[]グループの直接の子グループを取得します。
getRole(email)Roleグループのコンテキストでユーザーのロールを取得します。
getRole(user)Roleグループのコンテキストでユーザーのロールを取得します。
getRoles(users)Role[]グループのコンテキストでユーザーのロールを取得します。
getUsers()User[]対応する Google アカウントが既知のグループの直接メンバーを取得します。
hasGroup(group)Booleanグループがこのグループの直接メンバーかどうかをテストします。
hasGroup(email)Booleanグループがこのグループの直接メンバーかどうかをテストします。
hasUser(email)Booleanユーザーがグループの直接メンバーかどうかをテストします。
hasUser(user)Booleanユーザーがグループの直接メンバーかどうかをテストします。

詳細なドキュメント

getEmail()

このグループのメールアドレスを取得します。

この例では、ユーザーが属するすべてのグループのメールアドレスを一覧表示します。

function listMyGroupEmails() {
  const groups = GroupsApp.getGroups();
  for (let i = 0; i < groups.length; i++) {
    console.log(groups[i].getEmail());
  }
}

戻る

String - グループのメールアドレス。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/groups

getGroups()

グループの直接の子グループを取得します。グループのメンバーリストを表示する権限がない場合、例外がスローされます。

この方法に加えて、Admin SDK Directory アドバンスト サービスを使用して、ドメイン内のグループ メンバーを取得することもできます。

function listGroupMembers() {
  const GROUP_EMAIL = 'example@googlegroups.com';
  const group = GroupsApp.getGroupByEmail(GROUP_EMAIL);
  const childGroups = group.getGroups();
  console.log(`Group ${GROUP_EMAIL} has ${childGroups.length} groups:`);
  for (let i = 0; i < childGroups.length; i++) {
    const childGroup = childGroups[i];
    console.log(childGroup.getEmail());
  }
}

戻る

Group[] - グループの直接の子グループ。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/groups

getRole(email)

グループのコンテキストでユーザーのロールを取得します。グループの直接メンバーであるユーザーには、そのグループ内で 1 つのロールのみが割り当てられます。ユーザーがグループのメンバーでない場合、またはグループのメンバーリストを表示する権限がない場合、例外がスローされます。

この例では、グループのオーナーを一覧表示します。

const group = GroupsApp.getGroupByEmail('example@googlegroups.com');
const users = group.getUsers();
console.log('These are the group owners:');
for (let i = 0; i < users.length; i++) {
  const user = users[i];
  if (group.getRole(user.getEmail()) === GroupsApp.Role.OWNER) {
    console.log(user.getEmail());
  }
}

パラメータ

名前説明
emailStringユーザーのメールアドレス。

戻る

Role - グループ内のそのユーザーのロール。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/groups

getRole(user)

グループのコンテキストでユーザーのロールを取得します。グループの直接メンバーであるユーザーには、そのグループ内で 1 つのロールのみが割り当てられます。ユーザーがグループのメンバーでない場合、またはグループのメンバーリストを表示する権限がない場合、例外がスローされます。

この例では、グループのオーナーを一覧表示します。

const group = GroupsApp.getGroupByEmail('example@googlegroups.com');
const users = group.getUsers();
console.log('These are the group owners:');
for (let i = 0; i < users.length; i++) {
  const user = users[i];
  if (group.getRole(user) === GroupsApp.Role.OWNER) {
    console.log(user.getEmail());
  }
}

パラメータ

名前説明
userUserロールを取得するユーザー。

戻る

Role - グループ内のそのユーザーのロール。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/groups

関連情報


getRoles(users)

グループのコンテキストでユーザーのロールを取得します。グループの直接メンバーであるユーザーには、そのグループ内で 1 つのロールのみが割り当てられます。ユーザーがグループのメンバーでない場合や、グループのメンバーリストを表示する権限がない場合、例外がスローされます。

この例では、グループのオーナーを一覧表示します。

const group = GroupsApp.getGroupByEmail('example@googlegroups.com');
const users = group.getUsers();
const roles = group.getRoles(users);
console.log('These are the group owners:');
for (let i = 0; i < users.length; i++) {
  if (roles[i] === GroupsApp.Role.OWNER) {
    console.log(users[i].getEmail());
  }
}

パラメータ

名前説明
usersUser[]ロールがリクエストされたユーザー。

戻る

Role[] - グループ内のユーザーのロール。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/groups

getUsers()

対応する Google アカウントが既知のグループの直接メンバーと禁止メンバーを取得します。グループのメンバーリストまたはメンバーのメールアドレスを表示する権限がない場合、例外がスローされます。

注: グループ B のメンバーで、そのグループ B が別のグループ A のメンバーである場合、そのユーザーはグループ A に間接的に登録されています。親グループ A に送信されたメッセージのコピーは受信しますが、実際には親グループ A に登録されていません。

グループのメンバーを示す例を次に示します。実行する前に、グループのメールアドレスをドメインのメールアドレスに置き換えます。

function listGroupMembers() {
  const GROUP_EMAIL = 'example@googlegroups.com';
  const group = GroupsApp.getGroupByEmail(GROUP_EMAIL);
  const users = group.getUsers();
  console.log(`Group ${GROUP_EMAIL} has ${users.length} members:`);
  for (let i = 0; i < users.length; i++) {
    const user = users[i];
    console.log(user.getEmail());
  }
}
この方法に加えて、Admin SDK Directory アドバンスト サービスを使用して、ドメイン内のグループ メンバーを取得することもできます。

戻る

User[] - グループの直接メンバー。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/groups

hasGroup(group)

グループがこのグループの直接メンバーかどうかをテストします。テスト対象のグループがこのグループの下に複数レベルネストされている場合、このメソッドは true を返しません。グループのメンバーリストを表示する権限がない場合、例外がスローされます。

const group = GroupsApp.getGroupByEmail('example@googlegroups.com');
const childGroup = GroupsApp.getGroupByEmail('childgroup@googlegroups.com');
if (group.hasGroup(childGroup)) {
  console.log('childgroup@googlegroups.com is a child group');
}

パラメータ

名前説明
groupGroupメンバーシップをテストするグループ。

戻る

Boolean - そのグループがこのグループの子グループの場合は true、それ以外の場合は false

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/groups

hasGroup(email)

グループがこのグループの直接メンバーかどうかをテストします。テスト対象のグループがこのグループの下位に複数レベルネストされている場合、このメソッドは true を返しません。グループのメンバーリストを表示する権限がない場合、例外がスローされます。

const group = GroupsApp.getGroupByEmail('example@googlegroups.com');
if (group.hasGroup('childgroup@googlegroups.com')) {
  console.log('childgroup@googlegroups.com is a child group');
}

パラメータ

名前説明
emailStringグループのメールアドレス。

戻る

Boolean - そのグループがこのグループの子グループの場合は true、それ以外の場合は false

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/groups

hasUser(email)

ユーザーがグループの直接メンバーかどうかをテストします。グループのメンバーリストを表示する権限がない場合、例外がスローされます。

現在のユーザーがグループのメンバーかどうかを確認する例を次に示します。

const group = GroupsApp.getGroupByEmail('example@googlegroups.com');
const currentUser = Session.getActiveUser();
if (group.hasUser(currentUser.getEmail())) {
  console.log('You are a member');
}

パラメータ

名前説明
emailStringユーザーのメールアドレス。

戻る

Boolean - ユーザーがグループのメンバーである場合は true、そうでない場合は false

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/groups

hasUser(user)

ユーザーがグループの直接メンバーかどうかをテストします。グループのメンバーリストを表示する権限がない場合、例外がスローされます。

現在のユーザーがグループのメンバーかどうかを確認する例を次に示します。

const group = GroupsApp.getGroupByEmail('example@googlegroups.com');
const currentUser = Session.getActiveUser();
if (group.hasUser(currentUser)) {
  console.log('You are a member');
}

パラメータ

名前説明
userUserメンバーシップをテストするユーザー。

戻る

Boolean - ユーザーがグループのメンバーである場合は true、そうでない場合は false

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/groups