2016-03-17 3 views
0

Есть ли способ, с помощью которого мы могли бы получать/записывать контакты всех пользователей в домене с токеном доступа к уровню домена.Получение контактов всех пользователей с уровнем домена accesToken в azure

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

Но этот токен доступа не будет содержать никаких сведений о пользователе. Итак, как мы определяем, для какого пользователя мы пытаемся получить контакты?

Есть ли способ, в котором мы можем использовать идентификатор-идентификатор и идентификатор пользователя, чтобы получить токен доступа к конкретному пользователю без его подписания даже один раз, но с согласия администратора?

ответ

0

ли «уровень доступа домена маркер» означает, что вы проверить разрешение приложения для чтения информации все контакты, как на рисунке ниже: enter image description here

Office 365 API и поддержка API Microsoft Graph получить личные контакты. Разница между самым получить от «Authorization Code Grant Flow» и «учетные данные клиента» является то, что нам нужно указать контекст пользователя через ID или UserPrincipalName вместо псевдонима мне:

REST API :

GET /me/contacts 
GET /users/<id | userPrincipalName>/contacts 

Пример запроса:

GET /Users/[email protected]/contacts 

И если вы разрабатывали од сценарий арендатора, поскольку приложение уже зарегистрировано у арендатора Azure AD, нет необходимости снова давать согласие.

В противном случае, если вы разрабатывали приложение muti-tenant, когда приложение запускается в первый раз, пользователю нужна привилегия администратора, чтобы дать согласие на приложение для «Чтение контактов во всех почтовых ящиках».

Более подробно о Microsoft Graph разрешения областей, вы можете обратиться к следующей ссылке: https://graph.microsoft.io/en-us/docs/authorization/permission_scopes

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