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 — แอดเดรสอีเมลของกลุ่ม

การให้สิทธิ์

สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

  • 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[] — กลุ่มย่อยโดยตรงทั้งหมดของกลุ่ม

การให้สิทธิ์

สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

  • 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 — บทบาทของผู้ใช้รายนั้นภายในกลุ่ม

การให้สิทธิ์

สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

  • 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 — บทบาทของผู้ใช้รายนั้นภายในกลุ่ม

การให้สิทธิ์

สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

  • 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[] — บทบาทของผู้ใช้เหล่านั้นภายในกลุ่ม

การให้สิทธิ์

สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

getUsers()

รับสมาชิกโดยตรงและสมาชิกที่ถูกแบนของกลุ่มที่มีบัญชี Google ที่สอดคล้องกันซึ่งเป็นที่รู้จัก แสดงข้อยกเว้นหากคุณไม่มีสิทธิ์ดูรายชื่อสมาชิกของกลุ่มหรือ อีเมลของสมาชิก

หมายเหตุ: หากคุณเป็นสมาชิกของกลุ่ม B ซึ่งเป็นสมาชิกของกลุ่ม A แสดงว่าคุณได้สมัครรับข้อมูลกลุ่ม A โดยอ้อม แม้ว่าคุณจะได้รับสำเนาข้อความที่ส่งไปยังกลุ่ม B แต่คุณไม่ได้สมัครรับข้อมูลกลุ่มหลัก 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[] — สมาชิกโดยตรงทั้งหมดของกลุ่ม

การให้สิทธิ์

สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

hasGroup(group)

ทดสอบว่ากลุ่มเป็นสมาชิกโดยตรงของกลุ่มนี้หรือไม่ เมธอดจะไม่แสดง true หากกลุ่มที่ทดสอบซ้อนกันมากกว่า 1 ระดับใต้กลุ่มนี้ ส่งข้อยกเว้นหากคุณไม่มีสิทธิ์ดูรายชื่อสมาชิกของกลุ่ม

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 มิฉะนั้น

การให้สิทธิ์

สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

hasGroup(email)

ทดสอบว่ากลุ่มเป็นสมาชิกโดยตรงของกลุ่มนี้หรือไม่ เมธอดจะไม่แสดง true หากกลุ่มที่ทดสอบซ้อนกันมากกว่า 1 ระดับใต้กลุ่มนี้ ส่งข้อยกเว้นหากคุณไม่มีสิทธิ์ดูรายชื่อสมาชิกของกลุ่ม

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 มิฉะนั้น

การให้สิทธิ์

สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

  • 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 มิฉะนั้น

การให้สิทธิ์

สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

  • 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 มิฉะนั้น

การให้สิทธิ์

สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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