Группы API Google Directory

Я пытаюсь использовать API каталогов администратора Google (с библиотекой Python от Google).

Я могу просто перечислить пользователей в каталоге, используя такой код:

results = client.users().list(customer='my_customer').execute()

Однако эти результаты не включают в себя группы, в которые входят пользователи. Вместо этого кажется, что, получив список пользователей, я должен позвонить, чтобы получить список групп:

results = client.groups().list(customer='my_customer').execute()

Затем просмотрите каждую группу и вызовите API "members", чтобы узнать, какие пользователи входят в группу:

results = client.members().list(groupKey='[group key]').execute()

Это означает, что я должен сделать новый запрос для каждой группы.

Это кажется ужасно неэффективным. Должен быть лучший способ, чем этот, и я просто скучаю по нему. Что это?

3 ответа

Решение

Нет лучшего способа, чем тот, который вы описали (пока?): Перебирайте группы и получайте список членов каждой из них.

Я согласен, что это не тот ответ, который вы хотите прочитать, но это также способ, которым мы выполняем обслуживание членов группы.

Следующий метод должен быть более эффективным, но не на 100% большим:

Для каждого пользователя звоните groups.list метод и передать userKey Параметр для указания того, что вы хотите, чтобы группы имели пользователя X в качестве члена.

Я не разработчик Python, но это должно выглядеть так:

results = client.groups().list(customer='my_customer',userKey='user@domain.com').execute()

Для каждого пользователя:

results = client.groups (). list (userKey = user, pageToken = None).execute ()

где 'user' - основной или псевдоним электронной почты или идентификатор пользователя

Это вернет страницу групп, членом которой является пользователь, см.:

https://developers.google.com/admin-sdk/directory/v1/reference/groups/list

Другие вопросы по тегам