Class Group

Grup

Üyeleri ve bu üyelerin grup içindeki rolleri sorgulanabilir bir grup nesnesi.

Aşağıda, bir grubun üyelerini gösteren bir örnek verilmiştir. Çalıştırmadan önce grubun e-posta adresini alanınızdaki bir e-posta adresiyle değiştirin.

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

Yöntemler

YöntemDönüş türüKısa açıklama
getEmail()StringBu grubun e-posta adresini alır.
getGroups()Group[]Grubun doğrudan alt gruplarını alır.
getRole(email)RoleKullanıcının grup bağlamındaki rolünü alır.
getRole(user)RoleKullanıcının grup bağlamındaki rolünü alır.
getRoles(users)Role[]Kullanıcıların grup bağlamındaki rollerini alır.
getUsers()User[]Grubun, bilinen bir Google Hesabı'na sahip olan doğrudan üyelerini alır.
hasGroup(group)BooleanBir grubun bu grubun doğrudan üyesi olup olmadığını test eder.
hasGroup(email)BooleanBir grubun bu grubun doğrudan üyesi olup olmadığını test eder.
hasUser(email)BooleanKullanıcının grubun doğrudan üyesi olup olmadığını test eder.
hasUser(user)BooleanKullanıcının grubun doğrudan üyesi olup olmadığını test eder.

Ayrıntılı dokümanlar

getEmail()

Bu grubun e-posta adresini alır.

Bu örnekte, kullanıcının ait olduğu tüm grupların e-posta adresi listelenmektedir.

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

Return

String: Grubun e-posta adresi.

Yetkilendirme

Bu yöntemi kullanan komut dosyalarının aşağıdaki kapsamlardan bir veya daha fazlası için yetkilendirilmesi gerekir:

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

getGroups()

Grubun doğrudan alt gruplarını alır. Grubun üye listesini görüntüleme izniniz yoksa istisna oluşturur.

Bu yönteme ek olarak, bir alandaki grup üyelerini almak için Yönetici SDK'sı Directory gelişmiş hizmetini de kullanabilirsiniz.

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

Return

Group[]: Grubun tüm doğrudan alt grupları.

Yetkilendirme

Bu yöntemi kullanan komut dosyalarının aşağıdaki kapsamlardan bir veya daha fazlası için yetkilendirilmesi gerekir:

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

getRole(email)

Kullanıcının grup bağlamındaki rolünü alır. Bir grubun doğrudan üyesi olan kullanıcıların bu grupta tam olarak bir rolü vardır. Kullanıcı grubun üyesi değilse veya grubun üye listesini görüntüleme izniniz yoksa istisna oluşturur.

Bu örnekte bir grubun sahipleri listelenmektedir:

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

Parametreler

AdTürAçıklama
emailStringKullanıcının e-posta adresi.

Return

Role: Kullanıcının gruptaki rolü.

Yetkilendirme

Bu yöntemi kullanan komut dosyalarının aşağıdaki kapsamlardan bir veya daha fazlası için yetkilendirilmesi gerekir:

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

getRole(user)

Kullanıcının grup bağlamındaki rolünü alır. Bir grubun doğrudan üyesi olan kullanıcıların bu grupta tam olarak bir rolü vardır. Kullanıcı grubun üyesi değilse veya grubun üye listesini görüntüleme izniniz yoksa istisna oluşturur.

Bu örnekte bir grubun sahipleri listelenmektedir:

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

Parametreler

AdTürAçıklama
userUserRolünün alınacağı kullanıcı.

Return

Role: Kullanıcının gruptaki rolü.

Yetkilendirme

Bu yöntemi kullanan komut dosyalarının aşağıdaki kapsamlardan bir veya daha fazlası için yetkilendirilmesi gerekir:

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

Aşağıdaki kaynakları da incelemenizi öneririz:


getRoles(users)

Kullanıcıların grup bağlamındaki rollerini alır. Bir grubun doğrudan üyesi olan kullanıcıların bu grupta tam olarak bir rolü vardır. Kullanıcı grup üyesi değilse veya grubun üye listesini görüntüleme izniniz yoksa istisna oluşturur.

Bu örnekte bir grubun sahipleri listelenmektedir:

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

Parametreler

AdTürAçıklama
usersUser[]Rol istenen kullanıcılar.

Return

Role[]: Bu kullanıcıların gruptaki rolleri.

Yetkilendirme

Bu yöntemi kullanan komut dosyalarının aşağıdaki kapsamlardan bir veya daha fazlası için yetkilendirilmesi gerekir:

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

getUsers()

Grubun, bilinen bir Google Hesabı'na sahip doğrudan üyelerini ve yasaklanmış üyelerini alır. Grubun üye listesini veya üye e-postalarını görüntüleme izniniz yoksa bir istisna oluşturur.

Not: A grubunun üyesi olan B grubunun üyesiyseniz A grubuna dolaylı olarak abone olursunuz. Bu gruba gönderilen iletilerin kopyalarını alırsınız ancak aslında üst grup A'ya abone değilsinizdir.

Aşağıda, bir grubun üyelerini gösteren bir örnek verilmiştir. Çalıştırmadan önce grubun e-posta adresini alanınızdaki bir e-posta adresiyle değiştirin.

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());
  }
}
Bir alandaki grup üyelerini almak için bu yönteme ek olarak Yönetici SDK'sı Directory gelişmiş hizmetini de kullanabilirsiniz.

Return

User[]: Grubun tüm doğrudan üyeleri.

Yetkilendirme

Bu yöntemi kullanan komut dosyalarının aşağıdaki kapsamlardan bir veya daha fazlası için yetkilendirilmesi gerekir:

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

hasGroup(group)

Bir grubun bu grubun doğrudan üyesi olup olmadığını test eder. Test edilen grup bu grubun altında birden fazla düzeyde iç içe yerleştirilmişse yöntem true döndürmez. Grubun üye listesini görüntüleme izniniz yoksa bir istisna oluşturur.

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

Parametreler

AdTürAçıklama
groupGroupÜyeliğinin test edileceği grup.

Return

Boolean: Söz konusu grup bu grubun alt grubuysa true, aksi takdirde false değerini alır.

Yetkilendirme

Bu yöntemi kullanan komut dosyalarının aşağıdaki kapsamlardan bir veya daha fazlası için yetkilendirilmesi gerekir:

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

hasGroup(email)

Bir grubun bu grubun doğrudan üyesi olup olmadığını test eder. Test edilen grup bu grubun altında birden fazla düzeyde iç içe yerleştirilmişse yöntem true değerini döndürmez. Grubun üye listesini görüntüleme izniniz yoksa bir istisna oluşturur.

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

Parametreler

AdTürAçıklama
emailStringGrubun e-posta adresi.

Return

Boolean: Söz konusu grup bu grubun alt grubuysa true, aksi takdirde false değerini alır.

Yetkilendirme

Bu yöntemi kullanan komut dosyalarının aşağıdaki kapsamlardan bir veya daha fazlası için yetkilendirilmesi gerekir:

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

hasUser(email)

Kullanıcının grubun doğrudan üyesi olup olmadığını test eder. Grubun üye listesini görüntüleme izniniz yoksa istisna oluşturur.

Aşağıda, mevcut kullanıcının bir grubun üyesi olup olmadığını kontrol eden bir örnek verilmiştir:

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

Parametreler

AdTürAçıklama
emailStringKullanıcının e-posta adresi.

Return

Boolean: Söz konusu kullanıcı grubun üyesiyse true, aksi takdirde false değerini alır.

Yetkilendirme

Bu yöntemi kullanan komut dosyalarının aşağıdaki kapsamlardan bir veya daha fazlası için yetkilendirilmesi gerekir:

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

hasUser(user)

Kullanıcının grubun doğrudan üyesi olup olmadığını test eder. Grubun üye listesini görüntüleme izniniz yoksa istisna oluşturur.

Aşağıda, mevcut kullanıcının bir grubun üyesi olup olmadığını kontrol eden bir örnek verilmiştir:

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

Parametreler

AdTürAçıklama
userUserÜyeliği test edilecek kullanıcı.

Return

Boolean: Söz konusu kullanıcı grubun üyesiyse true, aksi takdirde false değerini alır.

Yetkilendirme

Bu yöntemi kullanan komut dosyalarının aşağıdaki kapsamlardan bir veya daha fazlası için yetkilendirilmesi gerekir:

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