2017-01-18 52 views
0

我們嘗試使用EWS創建事件,這是遷移代碼的一部分。有一個知道的問題,我們不能設置事件的組織者,這是原始事件,這裏是場景;EWS使用原始組織者創建活動

  1. 用戶A正在遷移到用戶B
  2. 用戶A具有在日曆30個事件
  3. 缺貨那些​​30,它已20個邀請事件,其中A是出席者和由用戶A創建的10個事件(即用戶A是組織者)
  4. 當我們遷移它們時,使用下面的代碼,所有事件都以用戶A作爲組織者創建。這是真正的問題

    約會約會=新約會(exchangeSevice);

    appointment.MimeContent = new MimeContent("UTF-8", System.IO.File.ReadAllBytes(@"c:\A\test.mime")); 
    //appointment.MimeContent = ; 
    // Set the properties on the appointment object to create the appointment. 
    appointment.Subject = "Tennis lesson with invite 22222"; 
    appointment.Body = "Focus on backhand this week."; 
    appointment.Start = DateTime.Now.AddDays(2); 
    appointment.End = appointment.Start.AddHours(1); 
    appointment.Location = "Tennis club"; 
    appointment.ReminderDueBy = DateTime.Now; 
    
    Attendee attendee = new Attendee("[email protected]"); 
    appointment.RequiredAttendees.Add(attendee); 
    
    Mailbox mailbox = new Mailbox(); 
    mailbox.Address = "[email protected]"; 
    
    // Save the appointment to your calendar. 
    appointment.Save(new FolderId(WellKnownFolderName.Calendar, mailbox), SendInvitationsMode.SendToAllAndSaveCopy); 
    
    // Verify that the appointment was created by using the appointment's item ID. 
    Item item = Item.Bind(exchangeSevice, appointment.Id, new PropertySet(ItemSchema.Subject)); 
    

問題是由微軟這裏解釋;

https://blogs.msdn.microsoft.com/webdav_101/2011/09/28/howto-set-the-organizer-of-a-meeting-on-the-calendar-of-an-attendee-using-ews/

我不知道究竟這一段想說的;

如果您決定使用MIME創建會議,請讓MIME/VCALENDAR內容使用METHOD:PUBLISH而不是REQUEST。問題在於還有其他屬性需要設置。沒有關於所有需要設置的方面的文件或建議,或者方法論可能適用於所有情況。此外,您現在可能會使其可以可靠地工作,但它可能無法按預期在Exchange的未來更新中運行。

任何人都可以幫助我如何達到我與不同組織者創建活動的要求?我有這樣的機會嗎?

回答

0

你在做什麼不是遷移約會,而是創建新約會。

財產「組織者」是隻讀的,不能改變,所以你不會成功的這種方式。

我想嘗試是讓來自用戶A的約會的組織者,這些假冒(或使用代理訪問),併發送邀請給用戶B.

熱冒充其他用戶:https://msdn.microsoft.com/en-us/library/office/dd633680(v=exchg.80).aspx

熱得到代表訪問:https://msdn.microsoft.com/en-us/library/office/dn641957(v=exchg.150).aspx

0

這正是我在想什麼。但在這種情況下,客戶唯一表達的恐懼是邀請將在他們的收件箱中興起。所以假設今天是2017年1月20日,並且有1月15日的事件這是BACK DATED之一。在這種情況下,我只是不能發送邀請。

另外,另外一個問題是沒有必要邀請內部員工。可能還有外部人員,他們將開始收到邀請郵件。如果你明白我的意思。所以這個解決方案不能工作。

我希望的是,如果有什麼辦法可以通過編程方式創建MeetingRequest,但是如果我可以創建MeetingRequest項目的MIME並將其保存在收件箱中。因爲我注意到,如果我收到活動邀請,那會在日曆中顯示。很顯然,我們無法複製用戶是否遵循這一點,但至少可以解決這個問題。任何建議?