Веб-службы Exchange - создание встречи с ресурсом, но участники не видят ресурс - PullRequest
6 голосов
/ 19 ноября 2010

Я пытаюсь поиграться с Exchange, чтобы интегрировать с ним систему бронирования номеров.

Я создал почтовый ящик комнаты и настроил его так, чтобы он автоматически принимал запросы на встречу.

При создании встречи в качестве обычного пользователя я могу добавить комнату в качестве ресурса и отобразится ее доступность.Если я закажу его, то он закажет успешно.

Я назначил встречу через веб-службы Exchange с комнатой в качестве ресурса.Ресурс был успешно зарезервирован (что подтверждается при открытии его в качестве делегата комнаты), но он не отображается на собрании в том виде, в котором его просматривал кто-либо из участников.

        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);

Есть идеи относительно того, почему он не отображается какбыло бы, если бы я забронировал его вручную?

В качестве примечания, на самом деле я не могу просмотреть календарь для этой комнаты как любой другой пользователь, кроме делегата;он говорит, что папка не может быть найдена.

Ответы [ 2 ]

1 голос
/ 05 декабря 2011

Я не совсем уверен в вашей главной проблеме.

О дополнительной заметке:

Вы пытались найти ваши встречи?

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
}
0 голосов
/ 22 августа 2011

Может быть, вы могли бы попытаться вручную создать собрание, а затем привязать к нему.При этом вы сможете просматривать объект и проверять, в чем его отличие?

var appointment = Appointment.Bind(service, new ItemId("yourmeetingid"));
...