Class Group

グループ

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

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

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

Methods

メソッド戻り値の型概要
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() {
  var groups = GroupsApp.getGroups();
  for (var 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() {
  var GROUP_EMAIL = "example@googlegroups.com";
  var group = GroupsApp.getGroupByEmail(GROUP_EMAIL);
  var childGroups = group.getGroups();
  console.log("Group " + GROUP_EMAIL + " has " + childGroups.length + " groups:");
  for (var i = 0; i < childGroups.length; i++) {
    var childGroup = childGroups[i];
    console.log(childGroup.getEmail());
  }
}

リターン

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

承認

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

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

getRole(email)

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

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

var group = GroupsApp.getGroupByEmail("example@googlegroups.com");
var users = group.getUsers();
console.log('These are the group owners:');
for (var i = 0; i < users.length; i++) {
  var 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 つのロールを持ちます。ユーザーがグループのメンバーでない場合、またはグループのメンバーリストを表示する権限がない場合は、例外をスローします。

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

var group = GroupsApp.getGroupByEmail("example@googlegroups.com");
var users = group.getUsers();
console.log('These are the group owners:');
for (var i = 0; i < users.length; i++) {
  var 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 つのロールを持ちます。グループのメンバーでない場合、またはグループのメンバーリストを表示する権限がない場合は、例外をスローします。

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

var group = GroupsApp.getGroupByEmail("example@googlegroups.com");
var users = group.getUsers();
var roles = group.getRoles(users);
console.log('These are the group owners:');
for (var 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 のメンバーで、そのメンバーも別のグループ A のメンバーである場合、間接的にグループ A に登録されています。グループ A に送信されたメッセージのコピーは受信しますが、実際には親グループ A には登録されていません。

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

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

リターン

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

承認

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

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

hasGroup(group)

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

var group = GroupsApp.getGroupByEmail("example@googlegroups.com");
var 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)

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

var 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)

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

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

var group = GroupsApp.getGroupByEmail("example@googlegroups.com");
var 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)

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

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

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

パラメータ

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

リターン

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

承認

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

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