我正在尝试设置一个系统,该系统使用Exchange 2007和EWS(Exchange Web服务)在网页上的资源日历中显示日历项目。
我已设法访问资源的日历,但在获取日历中的项目时,每个日历项目的主题不是当有人创建会议请求并邀请资源时使用的原始主题,但是而是创建会议请求的帐户上的用户名,例如。如果我这样做:
List<CalendarItemType> items =
Calendar.GetCalendarItems("mr1@litwareinc.com",
Calendar.GetNextWeekView(),
binding);
if (items.Count > 0)
{
Console.WriteLine(string.Format("Calendar opened - fetched {0} items",
items.Count));
Console.WriteLine("===================================");
foreach (var item in items)
{
Console.WriteLine();
Console.WriteLine(item.Subject);
Console.WriteLine("----------------------------------------");
Console.WriteLine("\tOrganizer: " + item.Organizer.Item.Name);
Console.WriteLine();
Console.WriteLine("\tStart: " + item.Start.ToString("dd-MM-yyyy HH:mm"));
Console.WriteLine("\tSlut: " + item.Start.ToString("dd-MM-yyyy HH:mm"));
}
}
Calendar.GetCalendarItems是一个获取第一个参数表示的资源的日历项的方法,Calendar.GetNextWeekView()是一个静态方法,它创建一个跨越下一周的CalendarView,从今天开始,绑定设置为使用具有对资源邮箱的委派访问权限的帐户。
如果使用管理员帐户预订资源,item.Subject
将以管理员身份发布。
有没有人知道如何解决这个问题 - 我是否需要进行某种特殊属性访问,或者获取其他类型的项目或什么?
此致 Jesper Hauge
答案 0 :(得分:2)
想出这个 - 当我开始寻找代码之外。
答案在于资源配置而不是访问代码。
如果您希望会议主题反映原始主题。确保资源已将设置属性DeleteSubject
和AddOrganizerToSubject
设置为false。可以使用以下shell命令实现:
Set-MailboxCalendarSettings resourcename -DeleteSubject 0 -AddOrganizerToSubject 0
此致 Jesper Hauge