2016-03-21 13 views
0

Office 365 Mail APIを使用して私の会社内の全員のメールにアクセスすることはできますか?私は個人にアクセスできることは分かっていますが、帽子には自分のメールへのアクセスを許可し、アクセストークンを取得する必要があります。私は、管理者のアクセストークンを持って、誰の電子メールにもアクセスできるようにしたいと考えています。これが可能かどうかの考えはありますか?Office 365 Mail API:全員のメールにアクセスする管理アクセストークン

答えて

1

可能です。 WebアプリケーションやWeb API(デフォルト、OAuth2用語では機密クライアントと呼ばれます)を登録して、デーモンサービスを構築して、組織化のためのすべてのメッセージを取得することができます。 https://azure.microsoft.com/en-us/documentation/articles/active-directory-integrating-applications/#BKMK_Native:アズールAD内のレジスタのアプリケーションに関する詳細については

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); 

を、あなたは下のリンクをたどることができます。ここでは

は、トークンを要求し、別のユーザーからメッセージを取得するには、クライアントの資格情報を使用した例であります

+0

デーモンサービスを構築した後、一度にすべてのユーザーの通知Webhookを設定する方法もありますか? https://dev.outlook.com/restapi/concepts/webhooks。受信メールがある場合は、このWebフックを使用してREST APIを呼び出して、必要に応じてフィルタリングすることを計画しています。ありがとう。 – WowBow

+0

いいえ。Office 365ウェブフックはユーザーレベルです。この機能が必要な場合は、[here](https://officespdev.uservoice.com/)からフィードバックを提出することができます。 –

+0

ありがとうございます!つまり、個々のユーザーごとにウェブフックをセットアップする必要がありますか?もしそうなら、それはプログラムで実行可能ですか?その場合、新しいユーザーが登録されるたびに、Webhook購読を自動的に作成することができます。私は何を言っているのですか? – WowBow

関連する問題