【问题标题】:Creating appointment on Exchange server calendar as other user without impersonation (EWS)以其他用户身份在 Exchange 服务器日历上创建约会,无需模拟 (EWS)
【发布时间】:2016-10-31 20:32:40
【问题描述】:

我正在为预约安排创建简单的应用程序,我想实现为我的用户创建预约的功能。

我设法在 Exchange Server 上创建、更新和删除我的日历,并且在某种程度上设法创建约会,将我的同事添加为 RequiredAttendee,如下所示:

//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 日历中创建约会。

【问题讨论】:

    标签: c# exchange-server exchangewebservices ews-managed-api


    【解决方案1】:

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

    1. 确保您为其创建约会的人为您设置(在 Exchange 服务器上或在 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);
    

    祝你好运:)

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-27
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 2012-11-17
    • 2014-03-20
    • 1970-01-01
    • 2021-08-12
    相关资源
    最近更新 更多