通过Windows窗体应用程序在线交换电子邮件(Office 365)

Pra*_*lva 9 c# office365 outlook-restapi

我试图通过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
Run Code Online (Sandbox Code Playgroud)

Mat*_*att 13

是的,您可以使用Exchange Web服务API.它专为客户端应用程序而设计.按照链接,你可以找到很多例子.

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

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013_SP1);
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!我找到了怎么做.https://msdn.microsoft.com/en-us/library/office/dn567668(v=exchg.150).aspx (2认同)

Stu*_*ish 6

(第二)更新:

自 2021 年 3 月 18 日起,Exchange Web 服务基本身份验证的停用已被搁置,直至另行通知。请参阅最新的附加链接。

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

(第一)更新:

Microsoft 于 2020 年 4 月 3 日宣布,鉴于当前的 COVID-19 危机,Exchange Web 服务将继续按当前状态运行,直到 2021 年下半年,仍然积极使用它的租户

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

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

下面的帖子仍然适用于更改,它刚刚被推迟,没有确切的日期。有关完整详细信息,请参阅上面的链接。

原来的:

鉴于这是一个相当受欢迎的问题,在 Google 搜索排名中的排名非常靠前,可能值得注意的是,仅剩 12 个月的时间(在撰写本文时)可以使用 Exchange Web 服务,然后它才会停用。

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

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

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

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

对于目前使用 Matt 为 Office 365 邮件服务提供的上述方法的任何人,这将适用。任何使用本地交换服务的人都不会受到影响。