我正在尝试设置一个系统,该系统使用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

有帮助吗?

解决方案

想出这个 - 当我开始寻找代码之外。

答案在于资源配置而不是访问代码。

如果您希望会议主题反映原始主题。确保资源已将设置属性 DeleteSubject AddOrganizerToSubject 设置为false。可以使用以下shell命令实现:

Set-MailboxCalendarSettings resourcename -DeleteSubject 0 -AddOrganizerToSubject 0

此致 Jesper Hauge

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top