我想通过Azure AD使用EWS托管Api与Office 365 API。到目前为止,我已完成了以下任务。在Office 365 API中使用EWS托管API
- 我在Azure AD中拥有管理员权限。
- 我已经在Azure AD中成功注册了我的应用程序。
- 我从Azure AD获得了客户端ID,应用程序密钥和资源ID。
- 我已经启用“完全访问用户的邮箱。贾森的建议。
- 我已经成功地创建了一个MVC5 Web应用程序。
- 我按照杰里米的这个博客帖子。
这里我也跟着博客的链接: http://www.jeremythake.com/2014/08/using-the-exchange-online-ews-api-with-office-365-api-via-azure-ad/#comment-280653
代码在我的控制器:
var outlookClient = await AuthHelper.EnsureOutlookServicesClientCreatedAsync("Mail");
IPagedCollection<IMessage> messagesResults = await outlookClient.Me.Messages.ExecuteAsync();
string messageId = messagesResults.CurrentPage[0].Id;
string tokenx = AuthHelper.GetSessionToken();
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013);
service.HttpHeaders.Add("Authorization", "Bearer " + tokenx);
service.PreAuthenticate = true;
service.SendClientLatencies = true;
service.EnableScpLookup = false;
service.Url = new Uri("https://outlook.office365.com/EWS/Exchange.asmx");
ExFolder rootfolder = ExFolder.Bind(service, WellKnownFolderName.MsgFolderRoot);
编辑:我正在成功获取accessToken并使用它来针对EWS托管的Api进行调用,但它以403:Forbidden异常失败。您的帮助将受到高度赞赏。
最好的问候,
[Office 365/EWS身份验证使用OAuth]的可能重复(http://stackoverflow.com/questions/22892650/office-365-ews-authentication-using-oauth) – tatigo 2015-08-06 15:58:53