2016-03-21 3 views
0

Возможно ли получить доступ ко всем электронным письмам в моей компании с помощью Office 365 Mail API? Я знаю, что могу получить доступ к людям, но шляпа требует от меня доступа к их электронным письмам и получения их токенов доступа. Я хотел бы иметь доступ к токену доступа администратора и иметь доступ к электронным письмам каждого пользователя. Есть идеи, возможно ли это или нет?Office 365 Mail API: токен доступа администратора для доступа к электронной почте каждого пользователя

ответ

1

Это возможно. Мы можем зарегистрировать веб-приложение и/или веб-API (по умолчанию, известный как конфиденциальный клиент на языке OAuth2), построить службу демона для извлечения всех сообщений для организации.

Вот пример, используя учетные данные клиента, чтобы запросить маркер и получать сообщения от различных пользователей:

string authority = "https://login.microsoftonline.com/msdnofficedev.onmicrosoft.com"; 
     string resource = "https://Graph.microsoft.com"; 
     string clientID = ""; 
     string clientSecret = ""; 
     AuthenticationContext ac = new AuthenticationContext(authority); 
     AuthenticationResult ar = ac.AcquireToken(resource, new ClientCredential(clientID, clientSecret)); 

     HttpClient hc = new HttpClient(); 
     hc.DefaultRequestHeaders.Add("Authorization", "Bearer " + ar.AccessToken); 
     HttpResponseMessage hrm = await hc.GetAsync("https://Graph.microsoft.com/v1.0/users/[email protected]/messages/"); 
     string content=await hrm.Content.ReadAsStringAsync(); 
     MessageBox.Show(content); 

     HttpResponseMessage hrm2 = await hc.GetAsync("https://Graph.microsoft.com/v1.0/users/[email protected]/messages/"); 
     content = await hrm2.Content.ReadAsStringAsync(); 
     MessageBox.Show(content); 

Для более подробной информации о применении регистра в Azure AD, вы можете следовать по ссылке ниже: https://azure.microsoft.com/en-us/documentation/articles/active-directory-integrating-applications/#BKMK_Native

+0

После создания службы демона существует также способ настроить Notification Webhook для всех пользователей сразу? https://dev.outlook.com/restapi/concepts/webhooks. Мы планируем использовать эти веб-ссылки для вызова нашего REST API, когда есть входящие электронные письма, чтобы мы могли фильтровать в соответствии с нашей потребностью. Благодарю. – WowBow

+0

№. Веб-камера Office 365 - это пользовательский уровень. Вы можете отправить отзыв от [здесь] (https://officespdev.uservoice.com/), если вам нужна эта функция. –

+0

спасибо! i.e мы должны настроить webhook для каждого отдельного пользователя? Если да, то это выполнимо программно? В этом случае каждый раз, когда в нашей системе регистрируются новые пользователи, мы можем автоматически создавать подписки на веб-хоки. Вы получили то, что я говорю? – WowBow

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