C# 通过windows窗体应用程序从exchange online(Office 365)读取电子邮件
我正在尝试通过windows窗体应用程序读取O365邮箱中的电子邮件。我希望我的应用程序使用我的用户名和密码从O365邮箱读取电子邮件。 是否可以在不在Azure上注册应用程序的情况下访问O365 api?(仅使用用户凭据) 我关注了msdn上的这篇文章, 我在这方面有一个问题:C# 通过windows窗体应用程序从exchange online(Office 365)读取电子邮件,c#,office365,outlook-restapi,C#,Office365,Outlook Restapi,我正在尝试通过windows窗体应用程序读取O365邮箱中的电子邮件。我希望我的应用程序使用我的用户名和密码从O365邮箱读取电子邮件。 是否可以在不在Azure上注册应用程序的情况下访问O365 api?(仅使用用户凭据) 我关注了msdn上的这篇文章, 我在这方面有一个问题: result = context.AcquireToken(resourceId, ClientID, _returnUri); // parameters are no longer valid in this me
result = context.AcquireToken(resourceId, ClientID, _returnUri); // parameters are no longer valid in this method
是的,你可以用。它是为客户端应用程序而设计的。按照链接,你可以找到很多例子
注意:要创建服务客户端,需要指定Exchange服务器的版本,对于Exchange online,它应该是ExchangeVersion.Exchange2013\u SP1
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013_SP1);
更新: 微软于2020年4月3日宣布,鉴于当前的新冠肺炎危机,Exchange Web服务将在2021年下半年之前继续以最新状态运行,以供仍在积极使用它的租户使用 我们将继续为新创建的应用程序禁用基本身份验证 默认情况下为租户,并开始在中禁用基本身份验证 自2020年10月起没有使用记录的租户 下面的帖子仍然适用于变更,只是被推迟了,没有确切的日期。有关详细信息,请参见上面的链接 原件: 鉴于这是一个在谷歌搜索排名中名列前茅的颇受欢迎的问题,或许值得注意的是,在Exchange Web服务退役之前,只剩下12个月的时间(在撰写本文时) 连接到这些服务的首选方法是通过OAuth 问:当您进行此更改时,我的应用程序会停止工作吗 答:可能吧,是的,这取决于应用程序本身及其编码方式。 如果它使用的是EWS,如果它使用的是基本身份验证,那么是,打开 2020年10月13日,它将无法连接。但是,如果应用程序是 如果使用现代Auth/OAuth,那么不,它将保持原来的工作状态 以前 对于目前正在使用Matt针对Office 365 mail services的上述方法的任何人,这将适用。
任何使用on-prem exchange服务的用户都不会受到影响。谢谢!我发现了怎么做。如果AutoDiscoveryUrl()速度较慢,则可以像缓存服务url一样缓存该url,也可以按照以下步骤查找设置