Class Group

Grup

Üyeleri ve bu üyelerin gruptaki rolleri sorgulanabilen bir grup nesnesi.

Bir grubun üyelerini gösteren örneği aşağıda bulabilirsiniz. Komutu çalıştırmadan önce grubun e-posta adresini alanınızdaki bir adresle 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)RoleBir kullanıcının grup bağlamındaki rolünü alır.
getRole(user)RoleBir kullanı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ı ile eşleşen doğrudan ve yasaklanmış ü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ı belgeler

getEmail()

Bu grubun e-posta adresini alır.

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

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ı, aşağıdaki kapsamlardan biri veya daha fazlasıyla yetkilendirme gerektirir:

  • 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öntemin yanı sıra, bir alandaki grup üyelerini almak için Admin SDK 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ı, aşağıdaki kapsamlardan biri veya daha fazlasıyla yetkilendirme gerektirir:

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

getRole(email)

Bir kullanıcının grup bağlamındaki rolünü alır. Bir grubun doğrudan üyesi olan bir kullanıcının o 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ı, aşağıdaki kapsamlardan biri veya daha fazlasıyla yetkilendirme gerektirir:

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

getRole(user)

Bir kullanıcının grup bağlamındaki rolünü alır. Bir grubun doğrudan üyesi olan bir kullanıcının o 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ü alınacak kullanıcı.

Return

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

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan biri veya daha fazlasıyla yetkilendirme gerektirir:

  • 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 bir kullanıcının o grupta tam olarak bir rolü vardır. Herhangi bir 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();
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[]Rolleri istenen kullanıcılar.

Return

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

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan biri veya daha fazlasıyla yetkilendirme gerektirir:

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

getUsers()

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

Not: Başka bir grup olan A grubunun üyesi olan B grubunun üyesiyseniz A grubuna dolaylı olarak abone olursunuz. Bu adrese gönderilen iletilerin kopyalarını alsanız da aslında A üst grubuna abone değilsinizdir.

Bir grubun üyelerini gösteren örneği aşağıda bulabilirsiniz. Komutu çalıştırmadan önce grubun e-posta adresini alanınızdaki bir adresle 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());
  }
}
Bu yöntemin yanı sıra, bir alandaki grup üyelerini almak için Admin SDK Directory gelişmiş hizmetini de kullanabilirsiniz.

Return

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

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan biri veya daha fazlasıyla yetkilendirme gerektirir:

  • 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 bir düzeyinden daha fazla altında yer alıyorsa yöntem true değerini döndürmez. Grubun üye listesini görüntüleme izniniz yoksa 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ği test edilecek grup.

Return

Booleantrue (bu grup, söz konusu grubun üst grubuyorsa); aksi takdirde false.

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan biri veya daha fazlasıyla yetkilendirme gerektirir:

  • 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 bir düzeyinden daha fazla altında yer alıyorsa yöntem true değerini döndürmez. Grubun üye listesini görüntüleme izniniz yoksa 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
emailStringBir grubun e-posta adresi.

Return

Booleantrue (bu grup, söz konusu grubun üst grubuyorsa); aksi takdirde false.

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan biri veya daha fazlasıyla yetkilendirme gerektirir:

  • 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, geçerli 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

Kullanıcı grubun üyesiyse Boolean, aksi takdirde true.false

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan biri veya daha fazlasıyla yetkilendirme gerektirir:

  • 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, geçerli 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

Kullanıcı grubun üyesiyse Boolean, aksi takdirde true.false

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan biri veya daha fazlasıyla yetkilendirme gerektirir:

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