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[] اعضای مستقیم و اعضای مسدود شده گروه را که دارای حساب گوگل مربوطه هستند، دریافت می‌کند.
has Group(group) Boolean بررسی می‌کند که آیا یک گروه عضو مستقیم این گروه است یا خیر.
has Group(email) Boolean بررسی می‌کند که آیا یک گروه عضو مستقیم این گروه است یا خیر.
has User(email) Boolean بررسی می‌کند که آیا کاربر عضو مستقیم گروه است یا خیر.
has User(user) Boolean بررسی می‌کند که آیا کاربر عضو مستقیم گروه است یا خیر.

مستندات دقیق

getEmail()

آدرس ایمیل این گروه را دریافت می‌کند.

این مثال آدرس ایمیل تمام گروه‌هایی را که کاربر به آنها تعلق دارد، فهرست می‌کند.

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

getGroups()

گروه‌های فرزند مستقیم گروه را بازیابی می‌کند. اگر مجوز مشاهده لیست اعضای گروه را نداشته باشید، استثنا ایجاد می‌کند.

علاوه بر این روش، می‌توانید از سرویس پیشرفته Admin SDK Directory برای بازیابی اعضای گروه در یک دامنه استفاده کنید.

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

getRole(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

getRole(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

همچنین ببینید


getRoles(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

getUsers()

اعضای مستقیم و اعضای مسدود شده گروه که حساب گوگل مربوطه را دارند، دریافت می‌کند. اگر اجازه مشاهده لیست اعضای گروه یا ایمیل‌های اعضا را نداشته باشید، استثنا ایجاد می‌کند.

توجه: اگر شما عضو گروه 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

hasGroup(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 گروهی که عضویت آن مورد آزمایش قرار می‌گیرد.

بازگشت

Boolean - اگر آن گروه، گروه فرزند این گروه باشد، true و در غیر این صورت false .

مجوز

اسکریپت‌هایی که از این روش استفاده می‌کنند، نیاز به مجوز با یک یا چند مورد از حوزه‌های زیر دارند:

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

hasGroup(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 آدرس ایمیل یک گروه.

بازگشت

Boolean - اگر آن گروه، گروه فرزند این گروه باشد، true و در غیر این صورت false .

مجوز

اسکریپت‌هایی که از این روش استفاده می‌کنند، نیاز به مجوز با یک یا چند مورد از حوزه‌های زیر دارند:

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

hasUser(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 آدرس ایمیل یک کاربر.

بازگشت

Boolean - اگر آن کاربر عضو گروه باشد، true و در غیر این صورت false .

مجوز

اسکریپت‌هایی که از این روش استفاده می‌کنند، نیاز به مجوز با یک یا چند مورد از حوزه‌های زیر دارند:

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

hasUser(user)

بررسی می‌کند که آیا کاربر عضو مستقیم گروه است یا خیر. اگر مجوز مشاهده لیست اعضای گروه را نداشته باشید، استثنا ایجاد می‌کند.

در اینجا مثالی آورده شده است که بررسی می‌کند آیا کاربر فعلی عضو یک گروه است یا خیر:

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

پارامترها

نام نوع توضیحات
user User کاربری که عضویتش مورد آزمایش قرار می‌گیرد.

بازگشت

Boolean - اگر آن کاربر عضو گروه باشد، true و در غیر این صورت false .

مجوز

اسکریپت‌هایی که از این روش استفاده می‌کنند، نیاز به مجوز با یک یا چند مورد از حوزه‌های زیر دارند:

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