[英]Creating appointment on Exchange server calendar as other user without impersonation (EWS)
我正在创建用于约会计划的简单应用程序,我想为我实现为用户创建约会的功能。
我设法在Exchange Server上创建,更新和删除日历,并且在某种程度上设法创建了将同事添加为RequiredAttendees的约会,如下所示:
//service variable is being created using my credidentals
Appointment meeting = new Appointment(service);
meeting.Subject = "Some subject ";
meeting.Body = "Some body.";
meeting.Start = DateTime.Now;
meeting.End = meeting.Start.AddHours(4);
meeting.Location = "Some Location";
meeting.RequiredAttendees.Add("myCollegue@mail.com");
meeting.ReminderMinutesBeforeStart = 60;
meeting.Save(new FolderId(WellKnownFolderName.Calendar,
"myCollegue@mail.com"),
SendInvitationsMode.SendToAllAndSaveCopy);
但这只是将他设置为必需的与会者。 接下来的事情是我尝试使用模拟,但是由于权限和其他原因,我无法访问托管服务器将自己设置为主人,而其他人则不得不与我共享日历,因此我也不得不将其删除。 另外,他还让我成为他的日历上的出版作者。 我缺少什么,或者似乎在MSDN站点上找不到吗?
编辑:我可以在他的日历中创建约会。
如果有人遇到与我在此处遇到的相同问题,请按照以下步骤操作:
确保您要为其创建约会的人(在交换服务器上或在外行中以“编辑作者”的身份拥有所有权限)对您进行设置。
此后,您可以为他创建约会(通过外出并创建一些测试约会来进行验证)。
该代码对我有用:
Folder inboxFolder = Folder.Bind(service, new FolderId(WellKnownFolderName.Calendar, "your.colleague@company.com"));
Appointment appointmentOther = new Appointment(service);
appointmentOther.Subject = "Test 2";
appointmentOther.Body = "Body text";
appointmentOther.Start = DateTime.Now;
appointmentOther.End = DateTime.Today.AddHours(16);
appointmentOther.Location = "My Office";
appointmentOther.IsReminderSet = true;
appointmentOther.ReminderMinutesBeforeStart = 30;
appointmentOther.Save(inboxFolder.Id,SendInvitationsMode.SendToNone);
祝好运 :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.