簡體   English   中英

在Exchange服務器日歷上以沒有模擬(EWS)的其他用戶身份創建約會

[英]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站點上找不到嗎?

編輯:我可以在他的日歷中創建約會。

如果有人遇到與我在此處遇到的相同問題,請按照以下步驟操作:

  1. 確保您要為其創建約會的人(在交換服務器上或在外行中以“編輯作者”的身份擁有所有權限)對您進行設置。

  2. 此后,您可以為他創建約會(通過外出並創建一些測試約會來進行驗證)。

該代碼對我有用:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM