群組物件可以查詢群組中的成員和這些成員的角色。
以下是顯示群組成員的範例。執行前,請將群組的電子郵件地址替換為網域中的電子郵件地址。
function listGroupMembers() { var group = GroupsApp.getGroupByEmail("example@googlegroups.com"); console.log(group.getEmail() + ':'); var users = group.getUsers(); for (var i = 0; i < users.length; i++) { var 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() { var groups = GroupsApp.getGroups(); for (var i = 0; i < groups.length; i++) { console.log(groups[i].getEmail()); } }
回攻員
String
:群組的電子郵件地址。
授權
使用這個方法的指令碼必須取得以下一或多個範圍的授權:
-
https://www.googleapis.com/auth/groups
getGroups()
擷取群組的直接子群組。如果您沒有檢視群組成員清單的權限,則會擲回例外狀況。
除了這種方法以外,您也可以使用 Admin SDK Directory 進階服務,擷取網域中的群組成員。
function listGroupMembers() { var GROUP_EMAIL = "example@googlegroups.com"; var group = GroupsApp.getGroupByEmail(GROUP_EMAIL); var childGroups = group.getGroups(); console.log("Group " + GROUP_EMAIL + " has " + childGroups.length + " groups:"); for (var i = 0; i < childGroups.length; i++) { var childGroup = childGroups[i]; console.log(childGroup.getEmail()); } }
回攻員
Group[]
:所有直接子項群組。
授權
使用這個方法的指令碼必須取得以下一或多個範圍的授權:
-
https://www.googleapis.com/auth/groups
getRole(email)
在群組中擷取使用者的角色。屬於群組的直接成員,在該群組中只有一個角色。如果使用者不是群組成員,或是權限不足無法查看群組成員清單,就會擲回例外狀況。
以下範例會列出群組的擁有者:
var group = GroupsApp.getGroupByEmail("example@googlegroups.com"); var users = group.getUsers(); console.log('These are the group owners:'); for (var i = 0; i < users.length; i++) { var 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)
在群組中擷取使用者的角色。屬於群組的直接成員,在該群組中只有一個角色。如果使用者不是群組成員,或是權限不足無法查看群組成員清單,就會擲回例外狀況。
以下範例會列出群組的擁有者:
var group = GroupsApp.getGroupByEmail("example@googlegroups.com"); var users = group.getUsers(); console.log('These are the group owners:'); for (var i = 0; i < users.length; i++) { var 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)
在群組中擷取使用者角色。屬於群組的直接成員,在該群組中只有一個角色。如果任何使用者不是群組成員,或是您沒有檢視群組成員清單的權限,則會擲回例外狀況。
以下範例會列出群組的擁有者:
var group = GroupsApp.getGroupByEmail("example@googlegroups.com"); var users = group.getUsers(); var roles = group.getRoles(users); console.log('These are the group owners:'); for (var 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() { var GROUP_EMAIL = "example@googlegroups.com"; var group = GroupsApp.getGroupByEmail(GROUP_EMAIL); var users = group.getUsers(); console.log("Group " + GROUP_EMAIL + " has " + users.length + " members:"); for (var i = 0; i < users.length; i++) { var user = users[i]; console.log(user.getEmail()); } }除了此方法之外,您也可以使用 Admin SDK Directory 進階服務擷取網域中的群組成員。
回攻員
User[]
:群組的所有直接成員。
授權
使用這個方法的指令碼必須取得以下一或多個範圍的授權:
-
https://www.googleapis.com/auth/groups
hasGroup(group)
測試群組是否為這個群組的直接成員。如果測試群組的巢狀結構位於這個群組下方的多個層級,這個方法不會傳回 true
。如果您沒有檢視群組成員清單的權限,則會擲回例外狀況。
var group = GroupsApp.getGroupByEmail("example@googlegroups.com"); var 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
。如果您沒有檢視群組成員清單的權限,則會擲回例外狀況。
var 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)
測試使用者是否為群組的直接成員。如果您沒有檢視群組成員清單的權限,則會擲回例外狀況。
以下範例會檢查目前使用者是否為某個群組的成員:
var group = GroupsApp.getGroupByEmail("example@googlegroups.com"); var 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)
測試使用者是否為群組的直接成員。如果您沒有檢視群組成員清單的權限,則會擲回例外狀況。
以下範例會檢查目前使用者是否為某個群組的成員:
var group = GroupsApp.getGroupByEmail("example@googlegroups.com"); var currentUser = Session.getActiveUser(); if (group.hasUser(currentUser)) { console.log("You are a member"); }
參數
名稱 | 類型 | 說明 |
---|---|---|
user | User | 要測試成員資格的使用者。 |
回攻員
Boolean
- 如果該使用者是群組成員,則為 true
;否則為 false
。
授權
使用這個方法的指令碼必須取得以下一或多個範圍的授權:
-
https://www.googleapis.com/auth/groups