Class GroupsApp

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