Class GroupsApp

“群组”应用

此类提供对 Google 群组信息的访问权限。它可用于查询群组的电子邮件地址或用户是直接成员的群组列表等信息。

以下示例展示了当前用户是多少个群组的成员:

const groups = GroupsApp.getGroups();
Logger.log(`You belong to ${groups.length} groups.`);

属性

属性类型说明
RoleRole

方法

方法返回类型简介
getGroupByEmail(email)Group检索具有指定电子邮件地址的群组。
getGroups()Group[]检索您是直接成员(或待处理成员)的所有群组。

详细文档

getGroupByEmail(email)

检索具有指定电子邮件地址的群组。如果群组不存在或您无权查看,则会抛出异常。

以下示例会按电子邮件地址获取群组,并输出当前用户是否为成员。在运行之前,请将示例电子邮件地址替换为真实群组的电子邮件地址。

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

参数

名称类型说明
emailString要检索的群组的电子邮件地址。

返回

Group - 具有指定电子邮件地址的群组。

授权

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

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

getGroups()

检索您是直接成员(或待处理成员)的所有群组。如果您不属于任何群组,则此列表为空。如果群组不存在或您无权查看,则会抛出异常。

以下示例展示了如何输出用户所属的每个群组的电子邮件地址:

function showMyGroups() {
  const groups = GroupsApp.getGroups();
  let str = `You are in ${groups.length} groups: `;
  for (let i = 0; i < groups.length; i++) {
    const group = groups[i];
    str = `${str + group.getEmail()} `;
  }
  Logger.log(str);
}
请注意,如果您是群组 B 的成员,而群组 B 本身又是群组 A 的成员,那么您就间接订阅了群组 A。即使您会收到发送到“父级”群组 A 的邮件的副本,但您实际上并未订阅该群组。

您可以使用 Group.getRole(email) 确定您是返回的群组的现有成员还是待处理成员。

返回

Group[] - 用户直接成员所属的群组列表。

授权

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

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