2016-07-27 28 views
1

Ich baue eine Anwendung zum Sammeln von statistischen Informationen aus E-Mails innerhalb von Organisationen. Nehmen wir an, dass diese Organisationen verwenden Outlook 365. ich folgendes zu tun auf einfachste Art und Weise in der Lage sein wollen:Der beste Weg, um E-Mails in einer Organisation mit dem Outlook 365 API zu erhalten

  • Get Berechtigungen alle in einer Organisation die E-Mails zu lesen
  • Holen Sie sich die E-Mails + Anhänge und laufen Meine Statistik

es scheint, dass es keine einfache Möglichkeit ist es mit Outlook zu tun 365. ich diese gefunden: any-office-365-rest-api-to-get-messages-from-all-mailboxes-in-an-organization, aber ich verstehe nicht, wenn es mit Outlook für jede Organisation arbeiten kann 365. Bin ich falsch ? Wie kann ich eine solche App in einer beliebigen Organisation installieren und alle Berechtigungen erhalten? Ich habe an eine andere Lösung gedacht, die ihre Nachteile hat, aber ganz einfach ist: Die Organisation erstellt eine E-Mail-Adresse für mich, z. B. [email protected], und definiert in Exchange 365, alle E-Mails an diese Adresse weiterzuleiten. Dann kann ich die Outlook 365 REST API nutzen, um alle E-Mails zu erhalten und diejenigen zu löschen, über die ich gegangen bin. Der Hauptnachteil ist, dass ich Angst habe, dass diese E-Mail-Box zu schnell voll wird und ich viele E-Mails vermissen werde. Laut this sollte die E-Mail-Box 50 GB haben, was ein ausreichend großer Puffer ist.

Gibt es einen normalen Weg, dies zu tun? Ist jemand auf ein solches Problem gestoßen?

Vielen Dank.

Antwort

0

Sie müssen eine Mutlitenant-Anwendung unter Azure AD erstellen.

Wenn Sie möchten, dass Ihre App alle E-Mails in der Organisation lesen kann (nicht die E-Mails des Benutzers, die bereits angemeldet sind und Ihre App gewähren). Sie benötigen die folgende Berechtigung für die Anwendung hinzuzufügen: E-Mail lesen in allen Briefkästen (siehe Bild)

Bemerkung, dass dieser Umfang admin_consent ist nur. Dann muss Ihre App von einem Administrator des Office 365-Mandanten validiert werden. Sie können mehr darüber lesen here.

Azure AD application configuration

+0

Danke für die Antwort! Letzte Frage, was ist der Ablauf nach dem Erstellen der App? Ich meine, sagen wir, dass ich jetzt eine App mit diesen Berechtigungen habe. Wie meldet sich ein Benutzer an? Wie bekomme ich das benötigte Token, nachdem er das getan hat? Mit diesem Token kann ich dann die REST-API verwenden, um alle gewünschten Informationen zu erhalten. – Alex

+0

Ich kann wirklich über delegierte Bereiche sprechen, in denen Sie ein Token haben, mit dem Sie die API im Auftrag des verbundenen Benutzers anfordern können. Sie haben 2 Flüsse möglich: vollständiger "Client" (nicht an Ihren Fall angepasst) oder einen Code-Autorisierungsfluss, bei dem die Anfragen vom Server gestellt werden. Es gibt ein gutes Dokument hier https://dev.office.com/blogs/oauth-and-openid-connect-for-office-365-developer. Wenn Sie sehen möchten, wie ich implementiert habe (delegierte Bereiche und user_consent), siehe [meine App Keluro] (https://app.keluro.com). In Ihrem Fall benötigen Sie jedoch admin_consent, um die App zu autorisieren und auf alle Mailboxen zuzugreifen. –