使用 Outlook 365 在组织中获取电子邮件的最佳方式 API

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

我正在构建一个应用程序,用于从组织内部的电子邮件中收集统计信息。假设这些组织使用 Outlook 365。 我希望能够以最简单的方式执行以下操作:

似乎没有简单的方法可以用 Outlook 365 做到这一点。 我发现了这个: any-office-365-rest-api-to-get-messages-from-all-mailboxes-in-an-organization ,但我不明白它是否适用于任何使用 Outlook 365 的组织。我错了吗?我怎样才能在随机组织上安装这样的应用程序并获得所有权限?

我想到了另一种解决方案,它有缺点但很简单: 该组织为我创建了一个电子邮件地址,例如 mails@org.com,并在 Exchange 365 中定义将所有电子邮件转发到该地址。然后我可以使用 Outlook 365 REST API 获取所有电子邮件并删除我检查过的电子邮件。 主要的缺点是我担心这个邮箱很快就会满了,我会错过很多邮件。根据 this ,邮箱应该有 50 GB,这是一个足够大的缓冲区。

有正常的方法吗?有人遇到过这样的问题吗?

非常感谢。

您需要在 Azure AD 上创建多租户应用程序。

如果您希望您的应用程序能够读取组织中的所有电子邮件(而不是已经登录并授予您的应用程序的用户的电子邮件)。您需要向应用程序添加以下权限:读取所有邮箱中的邮件(见图)

请注意,此范围仅限 admin_consent。然后你的应用程序需要由 Office 365 租户的管理员验证。您可以阅读更多相关信息 here