Лучший способ доступа к календарю Outlook без пользовательского интерфейса в фоновом приложении

Сценарии доступа к Календарю обычно включают в себя вход пользователя в систему и предоставление согласия на предоставление делегированных разрешений. Кажется, это применимо как к Office 365, так и к API-интерфейсам Graph.

Я видел здесь решения для доступа к календарю без пользовательского интерфейса, но это включает в себя хранение имени пользователя и пароля, которое меньше желаемого. Другой вариант - использовать Graph API с разрешением приложения - к сожалению, разрешение Calendars.ReadWrite предназначено для всех пользователей: «Чтение и запись календарей во всех почтовых ящиках». Маловероятно, что я смогу получить этот доступ, предоставленный администратором, поскольку я работаю в большой компании, не говоря уже о том, что мне просто не нужен такой доступ.

Итак, мой вопрос: есть ли способ получить разрешение приложения (или любой другой способ доступа к календарю Outlook без пользовательского интерфейса) только для нескольких пользователей?


person waleed    schedule 11.11.2019    source источник


Ответы (1)


Вы можете использовать область видимости https://github.com/microsoftgraph/microsoft-graph-docs/blob/master/concepts/auth-limit-mailbox-access.md, который позволяет ограничивать разрешения приложения для подмножества пользователей. Приложение какого типа вы на самом деле пытаетесь создать? Что-то вроде getSchedule https://docs.microsoft.com/en-us/graph/api/calendar-getschedule?view=graph-rest-1.0&tabs=http может использоваться вошедшим в систему пользователем для запроса разрешения FreeBusy у других пользователей и получения ограниченный набор информации о встречах, например, начало, конец, тема, местоположение, которого часто достаточно для многих календарных приложений.

person Glen Scales    schedule 11.11.2019
comment
К сожалению, у меня не будет зарегистрированного пользователя, поэтому я не могу использовать делегированные разрешения. Мне нужно узнать наличие свободных мест и назначить встречу - person waleed; 13.11.2019
comment
Если это несколько пользователей, может быть, вы можете попросить их дать согласие на ваше приложение, отправив им ссылку для предоставления доступа? - person rasharasha; 15.11.2019