Как получить электронную почту пользователя из onedrive API?

В документе я только что обнаружил, что могу получить displayName из

/drive

Но нет электронной почты

введите здесь описание изображения

Если я хочу использовать этот API, могу ли я только через Microsoft Graph?


person zhiqin_guo    schedule 17.04.2017    source источник
comment
Здравствуйте, Чжицинь! В настоящее время API OneDrive не отображает электронную почту, только displayName и objectId. Какой сценарий требует, чтобы вы знали адрес электронной почты? Вы не можете работать с objectId?   -  person Kashif Tahir    schedule 17.04.2017
comment
Если пользователь связывает два Onedrive в моем приложении, используйте одно и то же displayName, когда я показываю всю историю открытых файлов в общем списке. Мне нужен один однозначно идентифицируемый, и пользователь может его понять. ObjectId для пользователя слишком сложно понять   -  person zhiqin_guo    schedule 18.04.2017


Ответы (1)


Это доступно с помощью Microsoft Graph API, если ваше приложение запросило разрешения User.Read.

Вы можете сделать запрос на получение электронной почты вошедшего в систему пользователя: GET https://graph.microsoft.com/v1.0/me/mail

Или вы можете сделать запрос на получение электронной почты конкретного пользователя на основе идентификатора пользователя: GET https://graph.microsoft.com/v1.0/users/ {userId} / mail

Вы также можете использовать свойства навигации createdByUser и lastModifiedByUser для элемента, чтобы получить адрес электронной почты пользователя, создавшего / изменившего файл.

Чтобы вызвать Microsoft Graph, вам необходимо использовать конечную точку авторизации / токена AAD OAuth v2. Это отличается от того, что вы использовали ранее для личного использования OneDrive, но задокументировано здесь: https://dev.onedrive.com/auth/graph_oauth.htm

person Abd    schedule 07.05.2017
comment
Это работает, только если пользователь является подписчиком Office365. Учетные записи, которые являются частью AAD, но не имеют лицензии O365, увидят ошибку на этих конечных точках. Учетные записи Microsoft также будут видеть ошибку. - person ItalyPaleAle; 19.09.2018