Best way to get emails in an organization using the Outlook 365 API

流过昼夜 提交于 2021-01-27 20:24:30

问题


I'm building an application for collecting statistical information from emails inside organizations. Let's assume that those organizations use Outlook 365. I want to be able to do the following in the easiest way:

  • Get permissions to read all the mails in an organization
  • Get the emails + attachments and run my statistics

It seems that there is no easy way to do it with Outlook 365. I found this: any-office-365-rest-api-to-get-messages-from-all-mailboxes-in-an-organization , but I don't understand if it can work for any organization using Outlook 365. Am I wrong? How can I install such an app on a random organization and receive all the permissions?

I thought of another solution which has it's drawbacks but is quite easy: The organization creates an email address for me, e.g mails@org.com, and define in the Exchange 365 to forward all emails to this address. Then I can get use the Outlook 365 REST API to get all emails and delete those that I went over. The main drawback is that I'm afraid that this email box will get full to quickly and I'll miss many emails. According to this , the email box should have 50 GB which is a big enough buffer.

Is there a normal way to do this? Did anyone come across such a problem?

Thanks a lot.


回答1:


You need to create a mutlitenant application on Azure AD.

If you want your app to be able to read all emails in the organization (not the emails of the user that have already logged and grant your app). You need to add the following permission to the application: Read Mail in All mailboxes (see image)

Remark that this scope is admin_consent only. Then your app needs to be validated by an administrator of the Office 365 tenant. You can read more about this here.



来源:https://stackoverflow.com/questions/38609058/best-way-to-get-emails-in-an-organization-using-the-outlook-365-api

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!