Получение сообщений Outlook в общей или делегированной папке
Пользователи Outlook могут делиться почтовыми папками и предоставлять права на чтение, создание, изменение и удаление отдельных папок. Outlook также позволяет клиенту делегировать другому пользователю право действовать от имени клиента и получать доступ к определенным папкам или ко всему его почтовому ящику. В Outlook это называется "делегированием".
Программными средствами Microsoft Graph поддерживает получение сообщений в почтовых папках, которыми поделились другие пользователи, и получение самих общих папок. Поддержка также применяется к делегированным папкам.
Например, Гарт предоставил джону доступ к папке "Входящие" и предоставил доступ на чтение. Если Джон входит в приложение и предоставляет делегированные разрешения (Mail.Read.Shared или Mail.ReadWrite.Shared), приложение обращается к почте Гарта и папке "Входящие", как описано в этой статье.
Разрешения Microsoft Graph
Используйте делегированные разрешения, Mail.Read.Shared
или Mail.ReadWrite.Shared
, чтобы они могли считывать и записывать сообщения в общей или делегированной папке.
Эти два разрешения не поддерживают подписку на уведомления об изменении элементов в общих или делегированных папках. Чтобы настроить подписки на уведомления об изменениях сообщений в общей, делегированной или любой другой почтовой папке пользователя в клиенте, используйте разрешение приложения, Mail.Read
.
Дополнительные сведения см. в разделе Разрешения для почты.
Получение сообщения из общей папки
Так вы можете получить определенное сообщение из папки "Входящие" Григория:
GET users/{Garth-userId | Garth-userPrincipalName}/mailfolders('Inbox')/messages/{id}
После успешного завершения вы получите HTTP 200 OK и экземпляр сообщения , идентифицированный с помощью {id}
, из папки "Входящие" Гарта.
Получение всех сообщений из общей папки
Получение всех сообщений из папки "Входящие" Григория:
GET users/{Garth-userId | Garth-userPrincipalName}/mailfolders('Inbox')/messages
После успешного завершения вы получите HTTP 200 OK и коллекцию экземпляров сообщений в папке "Входящие" Гарта.
Получение общей папки
Получение папки ("Входящие"), доступ к которой Григорий предоставил Ивану.
GET users/{Garth-userId | Garth-userPrincipalName}/mailfolders('Inbox')
После успешного завершения вы получите HTTP 200 OK и экземпляр mailFolder , представляющий папку "Входящие" Гарта.
Такие же возможности для запросов GET будут доступны, если Григорий делегирует Ивану дополнительные права доступа к своей папке "Входящие" или всему почтовому ящику.
Если Гарт не предоставил доступ к папке "Входящие" Джону и не делегировал свой почтовый ящик Джону, при указании идентификатора пользователя или имени участника-пользователя Гарта в этих операциях GET возвращается ошибка.
Дальнейшие действия
- Зачем выполнять интеграцию с почтой Outlook?
- Использование почтового API и вариантов его использования в Microsoft Graph версии 1.0