在不冒充的情况下,在Exchange Server日历上以其他用户(EWS)创建约会



我正在为约会计划创建简单的应用程序,我想为我为用户创建约会的能力。

我设法在Exchange Server上创建,更新和删除了我的日历,并且我设法设法创建约会,并按照必需品这样的同事添加我的同事:

//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站点上找不到?

编辑:我可以在Outlok的日历中创建约会。

如果有人遇到与我相同的问题,请按照以下步骤操作:

  1. 确保您要创建约会的人将您设置为您(在Exchange Server上或Outlok中为"编辑作者",所有权限。

  2. 之后,您可以为他创建约会(通过转到您的Outlok并创建一些测试约会来验证这一点)。

此代码对我有用:

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

祝你好运:)

相关内容

最新更新