我正在构建一个应用程序,用于从组织内部的电子邮件收集统计信息。我们假设这些组织使用 Outlook 365。
我希望能够以最简单的方式执行以下操作:
- 获取阅读组织中所有邮件的权限
- 获取电子邮件+附件并运行我的统计数据
Outlook 365 似乎没有简单的方法来做到这一点。
我找到了这个:任何-office-365-rest-api-从组织中的所有邮箱获取消息 https://stackoverflow.com/questions/37492806/any-office-365-rest-api-to-get-messages-from-all-mailboxes-in-an-organization,但我不明白它是否适用于任何使用 Outlook 365 的组织。我错了吗?如何在随机组织上安装这样的应用程序并获得所有权限?
我想到了另一种解决方案,它有缺点但很简单:
该组织为我创建了一个电子邮件地址,例如[电子邮件受保护] /cdn-cgi/l/email-protection,并在 Exchange 365 中定义将所有电子邮件转发到此地址。然后我可以使用 Outlook 365 REST API 获取所有电子邮件并删除我查看过的电子邮件。
主要缺点是我担心这个邮箱很快就会满,我会错过很多电子邮件。根据this https://technet.microsoft.com/en-us/library/exchange-online-limits.aspx,邮箱应该有50GB,这是一个足够大的缓冲区。
有正常的方法可以做到这一点吗?有人遇到过这样的问题吗?
多谢。
您需要创建一个多租户应用程序Azure AD https://azure.microsoft.com/en-gb/documentation/articles/active-directory-whatis/.
如果您希望您的应用程序能够读取组织中的所有电子邮件(而不是已登录并授予您的应用程序权限的用户的电子邮件)。您需要向应用程序添加以下权限:阅读所有邮箱中的邮件(见图)
请注意,此范围是管理员同意仅有的。然后您的应用程序需要由 Office 365 租户的管理员进行验证。您可以阅读更多相关内容here https://azure.microsoft.com/en-us/documentation/articles/active-directory-integrating-applications/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)