通过 Windows Forms 应用程序阅读 Exchange Online (Office 365) 的电子邮件

14

我正在尝试通过Windows表单应用程序从我的O365邮箱中读取电子邮件。我希望我的应用程序可以使用我的用户名和密码从O365邮箱中读取电子邮件。 是否可以在不在Azure上注册应用程序的情况下访问O365 API?(仅使用用户凭据)

我遵循了msdn上的这篇文章,https://msdn.microsoft.com/en-us/library/office/dn567668(v=exchg.150).aspx 我在这行代码中遇到了问题:

result = context.AcquireToken(resourceId, ClientID, _returnUri); // parameters are no longer valid in this method

如果AutodiscoverUrl()速度较慢,您可以像这样缓存服务URL,或者按照这些步骤查找设置。 - Prasad De Silva
2个回答

18

是的,您可以使用Exchange web service API进行操作。它是为客户端应用程序设计的。访问链接,您可以找到很多示例。

需要注意的是:要创建服务客户端,您需要指定Exchange Server的版本,对于在线交换,它应该是ExchangeVersion.Exchange2013_SP1

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013_SP1);

2
谢谢!我找到了如何做到这一点。 https://msdn.microsoft.com/zh-cn/library/office/dn567668(v=exchg.150).aspx - Prasad De Silva

7

(第二次) 更新:

截至2021年3月18日,Exchange Web Services基本身份验证的退役已被搁置,直到另行通知。 请见附加链接了解最新信息。

更新 - Exchange Online废弃基本身份验证

(第一次) 更新:

微软于2020年4月3日宣布,在当前COVID-19危机的背景下,对于仍在积极使用的租户,Exchange Web Services将继续按照当前方式运作,直到2021年下半年。

我们将继续默认禁用新创建的租户的基本身份验证,并从2020年10月开始在未记录使用情况的租户中禁用基本身份验证

基本身份验证和Exchange Online - 2020年4月更新

下面的文章仍然适用于更改,但已被推迟,没有具体日期。 有关完整信息,请参见上面的链接。

原始:

考虑到这是一个相当受欢迎的问题,出现在Google搜索排名中较高,值得注意的是,在Exchange Web Services退役之前只有12个月的时间(在撰写本文时)。

连接这些服务的首选方法是通过OAuth。

问:当您进行此更改时,我的应用程序会停止工作吗?

答:可能是的,取决于应用程序本身以及如何编码。 如果它正在使用EWS,并且如果它正在使用基本身份验证,则是的,在2020年10月13日它将无法连接。 但是,如果应用程序正在使用Modern Auth / OAuth,则不会,它将继续像以前一样工作。

即将对Office 365的Exchange Web Services (EWS) API 进行的更改

对于目前正在使用Matt提供的Office 365邮件服务的以上方法的任何人都适用此规定。 使用本地交换服务的任何人均不受影响。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接