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

الطُرق

الطريقةنوع القيمة التي تم إرجاعهاوصف قصير
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() {
  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 لاسترداد أعضاء المجموعة في نطاق.

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

المَعلمات

الاسمالنوعالوصف
emailStringعنوان البريد الإلكتروني للمستخدم

الإرجاع

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

المَعلمات

الاسمالنوعالوصف
userUserالمستخدم الذي تريد استرداد دوره.

الإرجاع

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

المَعلمات

الاسمالنوعالوصف
usersUser[]المستخدمون المطلوب الحصول على أدوارهم

الإرجاع

Role[]: أدوار هؤلاء المستخدمين داخل المجموعة

التفويض

تتطلّب النصوص البرمجية التي تستخدم هذه الطريقة الحصول على إذن باستخدام نطاق واحد أو أكثر من النطاقات التالية:

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

getUsers()

تعرض هذه الطريقة الأعضاء المباشرين والمحظورين في المجموعة الذين لديهم حساب Google معروف ومطابق. يتم عرض استثناء إذا لم يكن لديك الإذن اللازم للاطّلاع على قائمة أفراد المجموعة أو عناوين البريد الإلكتروني للأعضاء.

ملاحظة: إذا كنت عضوًا في المجموعة "ب" التي هي نفسها عضو في المجموعة "أ"، تكون مشتركًا بشكل غير مباشر في المجموعة "أ". على الرغم من أنّك تتلقّى نُسخًا من الرسائل المُرسَلة إلى المجموعة الفرعية، إلا أنّك لست مشتركًا في المجموعة الرئيسية (أ).

في ما يلي مثال يعرض أعضاء مجموعة. قبل تشغيل النص البرمجي، استبدِل عنوان البريد الإلكتروني للمجموعة بعنوان بريد إلكتروني من نطاقك.

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 المتقدّمة لاسترداد أعضاء المجموعة في نطاق.

الإرجاع

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

المَعلمات

الاسمالنوعالوصف
groupGroupالمجموعة التي تريد اختبار عضويتها

الإرجاع

Booleantrue إذا كانت هذه المجموعة مجموعة فرعية من هذه المجموعة، 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');
}

المَعلمات

الاسمالنوعالوصف
emailStringعنوان البريد الإلكتروني للمجموعة

الإرجاع

Booleantrue إذا كانت هذه المجموعة مجموعة فرعية من هذه المجموعة، 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');
}

المَعلمات

الاسمالنوعالوصف
emailStringعنوان البريد الإلكتروني للمستخدم

الإرجاع

Booleantrue إذا كان هذا المستخدم عضوًا في المجموعة، أو 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');
}

المَعلمات

الاسمالنوعالوصف
userUserالمستخدم الذي تريد اختبار عضويته.

الإرجاع

Booleantrue إذا كان هذا المستخدم عضوًا في المجموعة، أو false في حال عدم توفّر ذلك.

التفويض

تتطلّب النصوص البرمجية التي تستخدم هذه الطريقة الحصول على إذن باستخدام نطاق واحد أو أكثر من النطاقات التالية:

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