2016-03-21 5 views
0

Ist es für mich möglich, mit der Office 365-Mail-API auf alle E-Mails in meiner Firma zuzugreifen? Ich weiß, dass ich auf Einzelpersonen zugreifen kann, aber ich muss Zugriff auf ihre E-Mails erhalten und ihre Zugangstoken erhalten. Ich möchte ein Administratorzugriffstoken haben und auf alle E-Mails zugreifen können. Irgendwelche Ideen, ob das möglich ist oder nicht?Office 365 Mail-API: Admin-Zugriffstoken für den Zugriff auf alle E-Mails

Antwort

1

Es ist möglich. Wir können eine Webanwendung und/oder Web-API (Standard, im OAuth2-Sprachgebrauch als vertraulicher Client bezeichnet) registrieren und einen Daemon-Service erstellen, um alle Nachrichten für die Organisation abzurufen.

Hier ist ein Beispiel dafür ist, dass die Client-Anmeldeinformationen unter Verwendung des Token anzufordern und die Nachrichten von verschiedenen Benutzern erhalten:

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

Für weitere Einzelheiten über Register Anwendung in AD Azure können Sie folgenden Link folgen: https://azure.microsoft.com/en-us/documentation/articles/active-directory-integrating-applications/#BKMK_Native

+0

Gibt es nach dem Erstellen des Daemon-Dienstes auch die Möglichkeit, den Benachrichtigungs-Webhook für alle Benutzer gleichzeitig einzurichten? https://dev.outlook.com/restapi/concepts/webhooks. Wir planen, diese Webhooks zu verwenden, um unsere REST-API aufzurufen, wenn eingehende E-Mails vorhanden sind, damit wir nach unseren Bedürfnissen filtern können. Vielen Dank. – WowBow

+0

Nein. Der Office 365-Webhook ist benutzerdefiniert. Sie können das Feedback von [hier] (https://officespdev.uservoice.com/) einreichen, wenn Sie diese Funktion benötigen. –

+0

danke! müssen wir den Webhook für jeden einzelnen Benutzer einrichten? Wenn ja, ist das programmatisch machbar? In diesem Fall können wir jedes Mal, wenn neue Benutzer in unserem System registriert werden, automatisch ein Webhook-Abonnement erstellen. Hast du, was ich sage? – WowBow

Verwandte Themen