Azure AD B2C Graph Api - как получить пользователей со всеми группами - PullRequest
0 голосов
/ 22 сентября 2018

Для одной из моих панелей мониторинга я хочу показать всех пользователей и их группы (безопасности).

Я могу просто нормально вызывать Graph API (myorganization/users и myorganization/groups) и запрашивать его с помощьюзапросы OData фильтруют, но проблема заключается в расширении.

Когда я использую GET /myorganisation/users&expand=memberOf, я получаю внутреннюю ошибку сервера.(пробовал версии 1.0, 1.6 и бета-версии API)

Когда я использую GET /myorganization/groups&expand=members, я получаю правильный ответ, но в расширенном списке участников есть максимум 20 записей (из-за ограничений API API)

Это создает проблему, так как я не хочу собирать всех участников и просматривать их учетные записи один за другим, чтобы получить их группы.Это займет слишком много времени (я боюсь) и заставит мое приложение ОЧЕНЬ переписываться (для 20 пользователей на экране это означает 21 вызов API).

Мне бы хотелось получить несколько советов о том, как это сделать.

1 Ответ

0 голосов
/ 22 сентября 2018

Такой API не предоставляется, поэтому он не будет работать.

GET /myorganisation/users&expand=memberOf

График API для MemberOf предназначен для конкретного пользователя, но не для пользователей (если вы хотите получить memberof для списка пользователей с помощьюэто, вам нужно сначала получить список пользователей и запросить memberOf один за другим).

GET https://graph.microsoft.com/users/{id | userPrincipalName}/memberOf

Когда я использую GET / myorganization / groups & expand = members, я получаю правильный ответ, но расширенныйСписок участников содержит не более 20 записей (из-за ограничений Graph Api)

Для решения проблемы с дизайном, вы должны следовать ей или просто отправить запрос на улучшение для UserVoice .

Сводка : В настоящее время получить список пользователей, а затем вызвать API Memberof - это единственный способ удовлетворить ваши требования. Для повышения производительности вам не нужно привлекать всех пользователей, но используйте top / skip для реализации подкачки (это хороший UX для большинства приложений).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...