群組物件,可查詢群組成員和成員在群組中的角色。
以下是顯示群組成員的範例。執行前,請將群組的電子郵件地址替換為網域中的電子郵件地址。
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 | String | 取得這個群組的電子郵件地址。 |
get | Group[] | 擷取群組的直接子群組。 |
get | Role | 擷取使用者在群組中的角色。 |
get | Role | 擷取使用者在群組中的角色。 |
get | Role[] | 在群組內容中擷取使用者的角色。 |
get | User[] | 取得群組中具有已知對應 Google 帳戶的直接成員。 |
has | Boolean | 測試群組是否為此群組的直接成員。 |
has | Boolean | 測試群組是否為此群組的直接成員。 |
has | Boolean | 測試使用者是否為群組的直接成員。 |
has | 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()
取得群組中具有已知對應 Google 帳戶的直接成員和已停權成員。如果您沒有查看群組成員清單或成員電子郵件地址的權限,系統會擲回例外狀況。
注意:如果您是群組 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()); } }
回攻員
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