如何从asp应用程序访问Exchange日历

本文关键字:访问 Exchange 日历 应用程序 asp | 更新日期: 2023-09-27 18:15:51

我的任务是编写一个。net应用程序,该应用程序必须能够访问用户交换日历。这个应用程序只能从本地网络访问,我需要自动使用当前域用户凭据来访问exchange。

我有以下代码,但我得到一个错误说"该帐户没有权限冒充所请求的用户。"

ExchangeService service = new ExchangeService();
service.UseDefaultCredentials = true;
string exchange = "exchangeWSURL";
service.Url = new Uri(exchange);
service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.PrincipalName, userid);
service.PreAuthenticate = true;
CalendarView cal = new CalendarView(startDate, startDate.AddDays(7));
FindItemsResults<Appointment> findResults = service.FindAppointments(WellKnownFolderName.Calendar, cal);

看起来我好像做错了什么。我希望现在必须为域上的所有用户打开模拟。

如何从asp应用程序访问Exchange日历

这篇文章提供了您似乎正在寻找的东西。请注意关于"冒充"的段落。这似乎非常适合你的需要。

ASP。. NET和Exchange技巧和示例

复制自MSDN:

您必须配置Exchange服务器以允许模拟您的应用程序可以使用模拟。有关更多信息,请参见配置Exchange模拟(Exchange Web服务)。

https://msdn.microsoft.com/en-us/library/dd633680 (v = exchg.80) . aspx
https://msdn.microsoft.com/en-us/library/bb204095 (exchg.140) . aspx