Группы 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