可以查询其成员以及这些成员在群组中的角色的群组对象。
下面的示例显示了群组成员。在运行该测试之前,请将该群组的电子邮件地址替换为您网域中的电子邮件地址。
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 的成员,而群组 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