连接到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的域。
提前致谢
如果你已经删除了域名(正如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*属性在服务对象上启用详细日志记录