首页 > 解决方案 > 如何使用 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 获取用户名列表?

我确实在寻找参考资料,但找不到。

谢谢您的回答。

标签: google-admin-sdk

解决方案


您可以在一次调用中检索成员列表。

执行 GET 请求https://www.googleapis.com/admin/directory/v1/groups/groupKey/members

groupKey组的电子邮件地址或 groupId在哪里。您也可以选择按角色过滤结果。

参考:

获取所有成员


推荐阅读