连接到Exchange Online时出现403

本文关键字:Online Exchange 连接 | 更新日期: 2023-09-27 18:14:02

我正试图在Office 365帐户上使用EWS,但是我得到了(403 Forbidden)的返回

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013);
service.Credentials = new WebCredentials("mv003237", "correctpw","domain");
service.AutodiscoverUrl("mv003237@domain.co.uk");

要登录并查看outlook.com/EWS/Exchange.asmx上的Webservices文件,我需要使用mv003237@live.domain.co.uk

进行身份验证

我已经尝试了几种组合,但仍然得到相同的错误信息。

有人有过连接office 365账户的类似经历吗?

我的WINDOWS登录这个帐户确实有一个RDG-HOME的域,但我没有看到登录到OWA的域。

提前致谢

连接到Exchange Online时出现403

如果你已经删除了域名(正如Matt在他的评论中建议的那样),剩下的一件事就是在自动发现过程中自动遵循重定向。

将最后一行改为

service.AutodiscoverUrl("mv003237@domain.co.uk", redirect => true); 

遵循Exchange Online发送的重定向响应。

那么完整的序列变成:

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013);
service.Credentials = new WebCredentials("mv003237", "correctpw");
service.AutodiscoverUrl("mv003237@domain.co.uk", redirect => true); 

由于信誉评分低,因此无法评论,因此响应为回答。

您可以使用"mv003237@domain.co.uk"登录OWA吗?如果是,您是否尝试过硬编码Url而不是使用自动发现来了解问题是否与自动发现或EWS有关。尝试以下调用来代替自动发现调用:服务。Url = new Uri(@"https://outlook.office365.com/ews/exchange.asmx");

如果上面的工作正常,订阅AutodiscoverService的RedirectionUrlValidationCallback,看看哪个重定向的URL抛出403。或者使用Trace*属性在服务对象上启用详细日志记录