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 - 群组的电子邮件地址。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

  • 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[] - 群组的所有直接下级群组。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

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

getRole(email)

在群组的上下文中检索用户的角色。身为群组直接成员的用户在该群组中只有一个角色。如果用户不是群组的成员,或者您无权查看群组的成员列表,则会抛出异常。

以下示例列出了群组的所有者:

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 - 该用户在群组中的角色。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

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

getRole(user)

在群组的上下文中检索用户的角色。身为群组直接成员的用户在该群组中只有一个角色。如果用户不是群组的成员,或者您无权查看群组的成员列表,则会抛出异常。

以下示例列出了群组的所有者:

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 - 该用户在群组中的角色。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

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

另请参阅


getRoles(users)

在群组上下文中检索用户角色。身为群组直接成员的用户在该群组中只有一个角色。如果有任何用户不是该群组的成员,或者您无权查看该群组的成员列表,则会抛出异常。

以下示例列出了群组的所有者:

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[] - 这些用户在群组中的角色。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

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

getUsers()

获取具有已知相应 Google 帐号的群组的直接成员。如果您无权查看群组的成员列表或成员电子邮件地址,则会抛出异常。

注意:如果您是群组 B 的成员,而群组 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[] - 群组的所有直接成员。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

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

hasGroup(group)

测试群组是否为此群组的直接成员。如果被测组嵌套在此组之下多个层级,则该方法不会返回 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

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

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

hasGroup(email)

测试群组是否为此群组的直接成员。如果被测组嵌套在此组之下多个层级,则该方法不会返回 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

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

  • 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

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

  • 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

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

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