【发布时间】:2015-01-20 13:16:46
【问题描述】:
我正在尝试通过 Azure AD 将 EWS 托管 Api 与 Office 365 Api 一起使用。到目前为止,我已经完成了以下任务。
- 我在 Azure AD 中拥有管理员权限。
- 我已成功在 Azure AD 中注册了我的应用程序。
- 我从 Azure AD 获得了客户端 ID、应用程序密钥和资源 ID。
- 我已启用“拥有对用户邮箱的完全访问权限。按照 Jason 的建议。
- 我已经成功创建了一个 MVC5 Web 应用程序。
- 我已关注 Jeremy 的这篇博文。
这里是我关注的博客链接: 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 异常。我们将非常感谢您的帮助。
最好的问候,
【问题讨论】:
标签: c# oauth-2.0 exchangewebservices office365