Поиск в почтовых ящиках O365 Exchange Online всего клиента - PullRequest
0 голосов
/ 29 мая 2020

Я написал приложение Python, которое использует MS Graph API (разрешения приложения: User.Read.All и Mail.ReadWrite): вариант использования - поиск и удаление фишинговых писем из почтовых ящиков O365 Exchange Online по всему клиенту. .

Я разработал приложение, используя учетную запись разработчика Microsoft 365 E5, и приложение отлично работает в этом небольшом клиенте, но теперь, когда я пробую его с большим 10-тысячным пользовательским клиентом, у меня возникают проблемы с масштабированием (ошибки 503) . Приложение получает список пользователей в клиенте, а затем запрашивает сообщения в каждом почтовом ящике на основе определенных критериев. Многие коды состояния 404 (почтовый ящик не найден) возвращаются при поиске всех пользовательских почтовых ящиков клиента. Часто статус 404 поступает из почтовых ящиков, которые начинаются с "##" или связаны с номерами ФАКСОВ. Я хотел бы исключить поиск в этих почтовых ящиках, чтобы уменьшить количество вызовов API.

Тестирование на моем клиенте разработчика. Я могу получить licenseDetails пользователя и проверить servicePlanName (EXCHANGE_S_ENTERPRISE) и provisioningStatus, но в арендаторе 10k я, кажется, не получаю никаких licenseDetails при запросе пользователей. Это связано с тем, что лицензии связаны с группами, а не с пользователями?

Есть ли способ получить всех пользователей, у которых есть действующая лицензия O365 Exchange Online, с помощью MS Graph API?

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