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());
  }
}

メソッド

メソッド戻り値の型概要
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 つしかありません。メンバーでないユーザーが 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 には登録されていません。

次の例は、グループのメンバーを示しています。実行する前に、メールアドレスを ドメインのアドレスとグループのアドレスを

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)

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

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)

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

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