Exchange Web Services. Create a meeting with the resource, but participants cannot see the resource.

I'm trying to play with Exchange to integrate a room reservation system with it.

I created a room mailbox and set it up so that it automatically accepts appointment requests.

When creating a meeting as a standard user, I can add a room as a resource, and its availability will be displayed. If I reserve it, it will be sent successfully.

I created a meeting through Exchange Web Services with a room as a resource. The resource was successfully booked (confirmed when it was opened as a room delegate), but it does not appear at the meeting if anyone visits it.

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

Any ideas as to why it is not showing as if I had booked it manually?

As a side note, I actually cannot view the calendar for this room as any user other than a delegate; he says the folder was not found.

+6
c # web-services exchangewebservices
source share
2 answers

I am not quite sure of your main problem.

About side notes:

Have you tried looking for your meetings?

 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 } 
+1
source share

Perhaps you could try to manually create a collection and then bind it. By doing this, you should be able to view the object and check what differences you have?

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

All Articles