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

Параметры

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

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

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

Параметры

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

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

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

Параметры

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

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

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

Авторизация

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

  • 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[] — Все прямые и забаненные участники группы.

Авторизация

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

  • 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");
}

Параметры

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

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

Booleantrue , если эта группа является дочерней группой этой группы; 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");
}

Параметры

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

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

Booleantrue , если эта группа является дочерней группой этой группы; 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");
}

Параметры

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

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

Booleantrue , если этот пользователь является членом группы; 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");
}

Параметры

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

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

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

Авторизация

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

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