google-admin-sdk - 如何使用 groupid 在组中获取用户名?
问题描述
我想制作某种层次结构组树。为此,我参考了 google admin sdk 参考。
但我在使用代码时遇到了 1 个问题。
Service = build('admin', 'directory_v1', credentials=creds)
groupResults = Service.members().list(groupKey='groupsmail@test.com').execute()
groups = groupResults.get('members', [])
# users = groupResults.get('users', [])
if not groups:
print('No users in the domain.')
else:
for group in groups:
if(group.get('type') == 'USER'):
email = group.get('email')
users = Service.users().get(userKey=email).execute()
print(email, users.get('name').get('fullName'))
这个输出是
1@test.com 用户名 2@test.com 用户名 ....
但是,使用起来太慢了。所以,我想知道如何使用组 ID 获取用户名列表?
我确实在寻找参考资料,但找不到。
谢谢您的回答。
解决方案
您可以在一次调用中检索成员列表。
执行 GET 请求https://www.googleapis.com/admin/directory/v1/groups/groupKey/members
groupKey
组的电子邮件地址或 groupId在哪里。您也可以选择按角色过滤结果。