2016-12-16 4 views
1

Я хочу получить все сообщения электронной почты пользователя. Я использую аутентификацию потока кода, и я разрабатываю приложение с несколькими арендаторами с делегированными разрешениями. Я думаю, что аутентификация токена потока (для демона или одного арендатора) не подходит для меня.Пользовательское олицетворение пользователя MicrosoftGraph для доступа к почтовым сообщениям

https://graph.microsoft.com/v1.0/me/messages

Вышеприведенные возвращает API только сообщения, прошедшего проверку подлинности пользователя. Есть ли способ подписать пользователей (олицетворение) с помощью Graph API? Пожалуйста, предоставьте решение этой проблемы.

ответ

0

Если у вас есть права делегирования, вы можете сделать https://graph.microsoft.com/v1.0/Ueers('[email protected]')/messages для получения сообщений делегата/персонализированного пользователя.

+1

Не могли бы вы поделиться процедурой выдачи себя за пользователя с помощью Graph API? –

+0

Я не верю, что существует концепция «Олицетворения». Вы можете получить токен App-Only, а затем использовать полномочия делегата для доступа к почтовому ящику пользователя в арендаторе. – Yogesh

0

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

С делегированным потоком вы запрашиваете доступ для всех пользователей в организации, используя конечную точку согласия администратора, и администратор соглашается с приложением от имени всех пользователей организации и когда пользователи взаимодействуют с приложением, они не получают пользовательский интерфейс согласия и приложение могут получить токен доступа для пользователя, который имеет делегированные разрешения для приложения и запрашиваемого ресурса. Вот статья, в которой описывается, как это сделать: https://docs.microsoft.com/en-us/azure/active-directory/active-directory-v2-scopes#admin-restricted-scopes

Второй вариант более подходит, если вы создаете неинтерактивное приложение, такое как демон службы, в этом случае вы можете использовать данные только с идентификатором приложения. Вот статья, в которой описывается, как выполнять поток учетных данных клиента: https://docs.microsoft.com/en-us/azure/active-directory/active-directory-v2-protocols-oauth-client-creds

При любом подходе к доступу к почтовым ящикам вы запрашиваете разрешение Mail.Read, а затем отправляете запрос на конечную точку https://graph.microsoft.com/v1.0/users(userId|UPN)/messages.

+0

Является ли конечная точка согласия администратора только для того, чтобы пропустить пользовательский интерфейс согласия для отдельных пользователей или мы можем выполнять вызовы API от имени пользователей? –

Смежные вопросы