Как получить информацию о вошедшем в систему пользователе с помощью Outlook rest API

После того, как пользователь вошел в веб-приложение, которое использует Outlook API с учетной записью Microsoft, как мы можем получить информацию о профиле этого пользователя, например. адрес электронной почты, отображаемое имя или событие фото профиля? У пользователя может быть несколько учетных записей Microsoft, и ему нужно знать, в какую учетную запись он входит. Я не нашел ничего связанного с этим в https://msdn.microsoft.com/en-us/office/office365./api/use-outlook-rest-api


person JJ Wan    schedule 16.02.2016    source источник


Ответы (1)


Вы можете найти информацию о пользователе в маркере идентификатора, который возвращается как часть процесса входа. Вот хорошая статья о маркере идентификатора при использовании аутентификации Azure v1: http://andrewconnell.com/blog/azure-ad-oauth2-openid-connect. Вот документы для версии 2: https://azure.microsoft.com/en-us/documentation/articles/active-directory-v2-protocols-oidc/.

Для фотографии вы хотите посмотреть на API фотографий пользователя: https://msdn.microsoft.com/office/office365/APi/photo-rest-operations

person Jason Johnston    schedule 16.02.2016
comment
Спасибо! Он отлично работает, извлекая профиль пользователя (отображаемое имя, адрес электронной почты и т. д.) из токена идентификатора. Но API фото кажется сломанным. Я играл с этим API в песочнице oauth (oauthplay.azurewebsites.net), но всегда получал ошибку: { code: RequestBroker-ParseUri, сообщение: Ресурс не найден для сегмента «userphotos». } даже у учетной записи, которую я использовал, есть действительное фото профиля. - person JJ Wan; 23.02.2016
comment
Это не /userphoto. Попробуйте https://outlook.office.com/api/v2.0/me/photo/$value, который является одним из запросов в раскрывающемся списке на этом сайте. - person Jason Johnston; 24.02.2016
comment
Это URL, который я искал! Спасибо, Джейсон. Я не должен был полагаться на песочницу. - person JJ Wan; 02.03.2016
comment
Вы также должны включить одноразовый номер, который представляет собой просто случайный идентификатор GUID, который можно сгенерировать здесь › guidgenerator.com /online-guid-generator.aspx. Без него у меня не получилось. - person WowBow; 08.03.2017
comment
@JasonJohnston Это работает для последовательных вызовов с одним и тем же GUID? Это сработало в первый раз, но при следующих вызовах он не попадет в URI перенаправления. Код выплевывается на URL-адрес браузера, но никогда не попадает на URL-адрес перенаправления. - person WowBow; 10.03.2017
comment
Вы не должны повторно использовать значение nonce, поэтому я предполагаю, что сервер обнаруживает это и не выдает токен. - person Jason Johnston; 10.03.2017