2015-07-13 5 views
1

Я использую API Exchange для отправки запросов на встречу с любого адреса электронной почты. Ниже приводится мой код:Автоматическое создание записи в календаре Outlook с использованием API Exchange

ExchangeService exService = new ExchangeService(ExchangeVersion.Exchange2013); 
exService.Url = new Uri("exchange URL"); 
exService.Credentials = new WebCredentials("userID", "password"); 

Appointment appointment = new Appointment(exService); 

appointment.Subject = "Test Subject"; 
appointment.Body = "test body"; 
appointment.Location = "Location"; 
appointment.Start = <Meeting start time>; 
appointment.End = <Meeting end time> 
appointment.RequiredAttendees.Add("[email protected]"); 

appointment.Save(SendInvitationsMode.SendOnlyToAll); 

Этот код работает нормально: он отправляет приглашение пользователю приглашения.

Что я хочу знать, возможно ли сделать запись в календарь Outlook посетителя напрямую, без каких-либо приглашений или каких-либо одобрений от участника?

ответ

1

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

+0

Я пробовал это. Он создает запись в календаре. Но я вижу эту встречу в календаре, когда я проверяю веб-почту, но она не загружает эту встречу в Outlook моей системы (установленное приложение). Любое обходное решение для этого? –

+0

Это не звучит правильно. Я бы перепрофилировал вашу логику, попытаюсь отключить режим кэширования в Outlook, чтобы узнать, не влияет ли это и на другую. Правильно работает, он должен работать. –

+0

@SagarJoshi Какой учебник вы указали для версии 2013 года. Я имею в виду, что вы добавили «ExchangeService exService = новый ExchangeService (ExchangeVersion.Exchange2013);» как версия 2013 года, которую вы использовали. Даже я пытаюсь и могу использовать только до версии версии 2010 SP2. Не могли бы вы мне помочь? – coders

0

Ниже кода может помочь вам.

ExchangeService exService = new ExchangeService(ExchangeVersion.Exchange2013); 
exService.Url = new Uri("exchange URL"); 
exService.Credentials = new WebCredentials("userID", "password"); 

Collection<Appointment> Meetings = new Collection<Appointment>(); 

Appointment appointment = new Appointment(exService); 

appointment.Subject = "Test Subject"; 
appointment.Body = "test body"; 
appointment.Location = "Location"; 
appointment.Start = <Meeting start time>; 
appointment.End = <Meeting end time> 
appointment.RequiredAttendees.Add("[email protected]"); 
Meetings.add(appointment) 

ServiceResponseCollection<ServiceResponse> responses = service.CreateItems(Meetings,WellKnownFolderName.Calendar,MessageDisposition.SendOnly,SendInvitationsMode.SendToNone); 
+1

Добро пожаловать в StackOverflow, в дополнение к предоставлению кода, пожалуйста, также включите некоторые текстовые данные, объясняющие, что вы сделали и почему это работает. – buczek