Class Group

Группа

Групповой объект, члены которого и роли этих членов в группе могут быть запрошены.

Вот пример, который показывает членов группы. Прежде чем запускать его, замените адрес электронной почты группы адресом электронной почты в вашем домене.

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

Методы

Метод Тип возврата Краткое описание
get Email() String Получает адрес электронной почты этой группы.
get Groups() Group[] Получает прямые дочерние группы группы.
get Role(email) Role Получает роль пользователя в контексте группы.
get Role(user) Role Получает роль пользователя в контексте группы.
get Roles(users) Role[] Получает роли пользователей в контексте группы.
get Users() User[] Получает прямых и запрещенных участников группы, у которых есть известная соответствующая учетная запись Google.
has Group(group) Boolean Проверяет, является ли группа прямым членом этой группы.
has Group(email) Boolean Проверяет, является ли группа прямым членом этой группы.
has User(email) Boolean Проверяет, является ли пользователь прямым членом группы.
has User(user) Boolean Проверяет, является ли пользователь прямым членом группы.

Подробная документация

get Email()

Получает адрес электронной почты этой группы.

В этом примере перечислены адреса электронной почты всех групп, к которым принадлежит пользователь.

function listMyGroupEmails() {
  const groups = GroupsApp.getGroups();
  for (let i = 0; i < groups.length; i++) {
    console.log(groups[i].getEmail());
  }
}

Возвращаться

String — адрес электронной почты группы.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

get Groups()

Получает прямые дочерние группы группы. Выдает исключение, если у вас нет разрешения на просмотр списка участников группы.

В дополнение к этому методу вы можете использовать расширенную службу каталога Admin SDK для получения членов группы в домене.

function listGroupMembers() {
  const GROUP_EMAIL = 'example@googlegroups.com';
  const group = GroupsApp.getGroupByEmail(GROUP_EMAIL);
  const childGroups = group.getGroups();
  console.log(`Group ${GROUP_EMAIL} has ${childGroups.length} groups:`);
  for (let i = 0; i < childGroups.length; i++) {
    const childGroup = childGroups[i];
    console.log(childGroup.getEmail());
  }
}

Возвращаться

Group[] — Все прямые дочерние группы группы.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

get Role(email)

Получает роль пользователя в контексте группы. Пользователь, являющийся непосредственным членом группы, имеет ровно одну роль в этой группе. Выдает исключение, если пользователь не является членом группы или у вас нет разрешения на просмотр списка участников группы.

В этом примере перечислены владельцы группы:

const group = GroupsApp.getGroupByEmail('example@googlegroups.com');
const users = group.getUsers();
console.log('These are the group owners:');
for (let i = 0; i < users.length; i++) {
  const user = users[i];
  if (group.getRole(user.getEmail()) === GroupsApp.Role.OWNER) {
    console.log(user.getEmail());
  }
}

Параметры

Имя Тип Описание
email String Адрес электронной почты пользователя.

Возвращаться

Role — роль этого пользователя в группе.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

get Role(user)

Получает роль пользователя в контексте группы. Пользователь, являющийся непосредственным членом группы, имеет ровно одну роль в этой группе. Выдает исключение, если пользователь не является членом группы или у вас нет разрешения на просмотр списка участников группы.

В этом примере перечислены владельцы группы:

const group = GroupsApp.getGroupByEmail('example@googlegroups.com');
const users = group.getUsers();
console.log('These are the group owners:');
for (let i = 0; i < users.length; i++) {
  const user = users[i];
  if (group.getRole(user) === GroupsApp.Role.OWNER) {
    console.log(user.getEmail());
  }
}

Параметры

Имя Тип Описание
user User Пользователь, роль которого требуется получить.

Возвращаться

Role — роль этого пользователя в группе.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

См. также


get Roles(users)

Получает роли пользователей в контексте группы. Пользователь, являющийся непосредственным членом группы, имеет ровно одну роль в этой группе. Выдает исключение, если какой-либо пользователь не является членом группы или если у вас нет разрешения на просмотр списка участников группы.

В этом примере перечислены владельцы группы:

const group = GroupsApp.getGroupByEmail('example@googlegroups.com');
const users = group.getUsers();
const roles = group.getRoles(users);
console.log('These are the group owners:');
for (let i = 0; i < users.length; i++) {
  if (roles[i] === GroupsApp.Role.OWNER) {
    console.log(users[i].getEmail());
  }
}

Параметры

Имя Тип Описание
users User[] Пользователи, чьи роли запрашиваются.

Возвращаться

Role[] — роли этих пользователей в группе.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

get Users()

Получает прямых и запрещенных участников группы, у которых есть известная соответствующая учетная запись Google. Выдает исключение, если у вас нет разрешения на просмотр списка участников группы или электронных писем участников.

Примечание. Если вы являетесь членом группы B, которая сама является членом другой группы A, то вы косвенно подписаны на группу A. Хотя вы получаете копии отправленных в нее сообщений, на самом деле вы не подписаны на родительскую группу A.

Вот пример, который показывает членов группы. Прежде чем запускать его, замените адрес электронной почты группы адресом электронной почты в вашем домене.

function listGroupMembers() {
  const GROUP_EMAIL = 'example@googlegroups.com';
  const group = GroupsApp.getGroupByEmail(GROUP_EMAIL);
  const users = group.getUsers();
  console.log(`Group ${GROUP_EMAIL} has ${users.length} members:`);
  for (let i = 0; i < users.length; i++) {
    const user = users[i];
    console.log(user.getEmail());
  }
}
В дополнение к этому методу вы можете использовать расширенную службу Admin SDK Directory для получения членов группы в домене.

Возвращаться

User[] — Все непосредственные участники группы.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

has Group(group)

Проверяет, является ли группа прямым членом этой группы. Метод не возвращает true если тестируемая группа вложена более чем на один уровень ниже этой группы. Выдает исключение, если у вас нет разрешения на просмотр списка участников группы.

const group = GroupsApp.getGroupByEmail('example@googlegroups.com');
const childGroup = GroupsApp.getGroupByEmail('childgroup@googlegroups.com');
if (group.hasGroup(childGroup)) {
  console.log('childgroup@googlegroups.com is a child group');
}

Параметры

Имя Тип Описание
group Group Группа, членство в которой необходимо проверить.

Возвращаться

Booleantrue , если эта группа является дочерней группой этой группы; false в противном случае.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

has Group(email)

Проверяет, является ли группа прямым членом этой группы. Метод не возвращает true если тестируемая группа вложена более чем на один уровень ниже этой группы. Выдает исключение, если у вас нет разрешения на просмотр списка участников группы.

const group = GroupsApp.getGroupByEmail('example@googlegroups.com');
if (group.hasGroup('childgroup@googlegroups.com')) {
  console.log('childgroup@googlegroups.com is a child group');
}

Параметры

Имя Тип Описание
email String Адрес электронной почты группы.

Возвращаться

Booleantrue , если эта группа является дочерней группой этой группы; false в противном случае.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

has User(email)

Проверяет, является ли пользователь прямым членом группы. Выдает исключение, если у вас нет разрешения на просмотр списка участников группы.

Вот пример, который проверяет, является ли текущий пользователь членом группы:

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

Параметры

Имя Тип Описание
email String Адрес электронной почты пользователя.

Возвращаться

Booleantrue , если этот пользователь является членом группы; false в противном случае.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

has User(user)

Проверяет, является ли пользователь прямым членом группы. Выдает исключение, если у вас нет разрешения на просмотр списка участников группы.

Вот пример, который проверяет, является ли текущий пользователь членом группы:

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

Параметры

Имя Тип Описание
user User Пользователь, членство которого необходимо проверить.

Возвращаться

Booleantrue , если этот пользователь является членом группы; false в противном случае.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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