2016-09-27 3 views
0

Моя команда и я создали веб-приложение, которое использует API-интерфейс Microsoft Graph для восстановления данных из среды Office 365 пользователя. Приложение использует Azure AD для предоставления пользователям токена доступа.Как я могу использовать токен доступа, полученный из API-интерфейса Microsoft, для доступа к другим API-интерфейсам

Теперь мы пытаемся добавить компонент, который может получить доступ к информации об услугах Exchange в одном и том же пользователе, используя EWS Api. Тем не менее, похоже, пытается использовать тот же токен доступа, что и тот, который предоставляется Graph API, всегда возвращает ответ 401 (неавторизованный), даже если у меня есть соответствующие разрешения, установленные в моем приложении Azure AD. Вот код, который мы используем, чтобы попытаться получить доступ к информации некоторых пользователей:

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013); 
service.HttpHeaders.Add("Authorization", "Bearer " + accessToken); 
service.PreAuthenticate = true; 
service.SendClientLatencies = true; 
service.EnableScpLookup = false; 
service.Url = new Uri("https://outlook.office365.com/EWS/Exchange.asmx"); 
TasksFolder tasksfolder = TasksFolder.Bind(service, WellKnownFolderName.Tasks, 
         new PropertySet(BasePropertySet.IdOnly, FolderSchema.TotalCount)); 

Метод Bind всегда возвращает 401 ошибку, которая заставляет меня думать, что Ther маркер доступа от одного API не является действительным для другого.

Если это так, можно ли получить токен доступа, который будет действителен для вызовов с несколькими API?

+0

ли вы решить эту проблему? Я can not см. разрешение, сформулированное точно так же, как первый ответ подсказывает в разрешениях доступа Azure – amlwwalker

ответ

0

Он должен работать нормально, но EWS не поддерживает с ограничениями модели разрешений, как REST так "EWS приложения требуют„Полный доступ к почтовому ящику“разрешения пользователя. В соответствии с запиской в ​​https://msdn.microsoft.com/en-us/library/office/dn903761(v=exchg.150).aspx