6

我正在尝试使用 Exchange,以便将房间预订系统与其集成。

我创建了一个房间邮箱并进行了设置,以便它自动接受约会请求。

作为标准用户创建约会时,我可以将房间添加为资源,并且将显示其可用性。如果我预订它,那么它会成功预订。

我通过 Exchange Web 服务创建了一个约会,并将房间作为资源。资源已成功预订(在作为会议室代表打开时确认),但任何与会者都没有看到它出现在会议上。

        var service = new ExchangeService(ExchangeVersion.Exchange2007_SP1) {
            Credentials =
                new NetworkCredential("username", "password", "domain"),
            Url = new Uri("https://myexchangeserver.co.uk/EWS/Exchange.asmx")
        };

         var appointment = new Appointment(service)
                              {
                                  Subject = "Created by ExchangeTest app",
                                  Body = "Some body text....",
                                  Start = startTime,
                                  End = endTime
                              };
        appointment.RequiredAttendees.Add("AnAttendee@myexchangeserver.co.uk");
        appointment.Resources.Add("ARoom@myexchangeserver.co.uk");
        appointment.Save(SendInvitationsMode.SendOnlyToAll);

关于为什么它没有像我手动预订那样显示的任何想法?

附带说明一下,除了代表之外,我实际上无法以任何用户的身份查看该房间的日历;它说找不到文件夹。

4

2 回答 2

1

我不完全确定你的主要问题。

关于旁注:

你试过搜索你的约会吗?

FolderId folder = new FolderId(WellknownFolderName.Calendar,"test@test.com");
CalendarView calendarView = new CalendarView(startDate, endDate);

foreach (Appointment exchangeAppointment in service.FindAppointments(folder, calendarView))
{
    // Here you should be able to get access on the appointments at the specified folder & address
}
于 2011-12-05T09:09:14.433 回答
0

也许您可以尝试手动创建会议,然后绑定到它。这样做你应该能够浏览对象并检查与你的不同之处是什么?

var appointment = Appointment.Bind(service, new ItemId("yourmeetingid"));
于 2011-08-22T14:02:31.743 回答