Нужны ли приложению разрешения на уровне приложения для чтения настроек почтового ящика других пользователей с помощью MSGraph? - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь прочитать текст об отсутствии на работе человека с помощью MSGraph. Я понимаю, что единственный способ сделать это - получить настройки почтового ящика человека, как указано здесь.

Есть ли другой способ прочитать сообщение об отсутствии на работе?

Предполагая, что другого способа нет, я тогда прочитал, например, в этой ссылке , что для вызова GET /users/{id|userPrincipalName}/mailboxSettings вам необходимо иметь Разрешения приложения для MailboxSettings.Read, MailboxSettings.ReadWrite. Так ли это до сих пор? Для меня не имеет смысла, что вам нужны разрешения на уровне приложения. Нет ли делегированного (требуется согласие администратора) MailboxSettings.Read.All ??? Проблема в том, что большинство ИТ-отделов будут колебаться (или свиньи полетят раньше, чем некоторые ИТ-отделы) дать приложению это разрешение на запуск без вошедшего в систему пользователя.

В качестве альтернативы я вижу, что есть Пользователь свойство mailboxsettings, таким образом, используя параметр запроса $ select, вы можете вызвать это https://graph.microsoft.com/v1.0/users/{id}?$select=mailboxSettings работает или должно работать с User.Read.All.

UPDATE в соответствии с предложением ниже Я добавил 2 предложения к голосу пользователя MSGraph.

  1. Информация о человеке вне офиса должна быть включена в его календарь / информацию о свободной занятости (получает расписание).
  2. Должно быть разрешение Mailboxsettings.Read.All.

Пожалуйста, нажмите на ссылку и проголосуйте за них, если вы согласны.

1 Ответ

0 голосов
/ 16 июня 2020

Нет, MailboxSettings.Read.All или MailboxSettings.Read.Shared нет. Вы можете увидеть список по адресу https://docs.microsoft.com/graph/permissions-reference#mail -разрешения . Я рекомендую вам запросить эту функцию в качестве функции по адресу https://microsoftgraph.uservoice.com.

Один из возможных подходов с учетом имеющихся в настоящее время разрешений для этого API - использовать разрешения приложения и настроить доступ к приложению policy , чтобы ограничить почтовые ящики, к которым он может получить доступ - если вы упомянули об этом. Я не понимаю, почему было бы предпочтительнее предоставить учетной записи пользователя доступ к этой информации для всех почтовых ящиков в организации, но не субъекту службы приложений.

Это не входит в состав User.Read.All по дизайну. На самом деле это не свойство пользователя, это конфигурация, хранящаяся в почтовом ящике. В Graph он абстрагируется как свойство, но для доступа к нему требуются дополнительные разрешения.

...