我们正在尝试使用EWS创建事件,EWS是迁移代码的一部分。有一个众所周知的问题,我们不能设置事件的组织者,这是一个原始的场景;
当我们迁移它们时,使用下面的代码,所有事件都是以用户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("test@user.com");
appointment.RequiredAttendees.Add(attendee);
Mailbox mailbox = new Mailbox();
mailbox.Address = "student@test.com";
// 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));
问题由Microsoft解释;
我不确定这一段到底想说的是什么;
如果您决定使用MIME创建会议,请让MIME / VCALENDAR内容使用METHOD:PUBLISH而不是REQUEST。这个问题是需要设置其他属性。没有关于所有需要设置的内容的文档或建议,或者方法是否适用于所有情况。此外,您可能暂时可以使其正常工作,但在将来的Exchange更新中可能无法正常工作。
任何人都可以帮助我如何实现我对不同组织者创建活动的要求?我有机会这样做吗?
答案 0 :(得分: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
答案 1 :(得分:0)
我在想什么。但在这种情况下,客户表达的唯一恐惧是邀请将在其收件箱中蓬勃发展。因此,假设今天是2017年1月20日,并且有一个事件是1月15日 2015 ,这是一个返回日期。在那种情况下,我不能发送邀请。
另外,另一个问题是没有必要只邀请内部员工。也可能有外部人员开始收到邀请邮件。如果你明白我的意思。所以这个解决方案无法工作。
我希望是否有任何方法可以编程方式创建MeetingRequest,而TOO是不可能的,但是如果我可以创建一个MeetRequest项目的MIME并将其保存在收件箱中。因为我注意到如果我得到活动邀请,那就会显示在日历中。显然,我们无法复制状态,无论用户是否接受,但至少这可以是一个解决方案。有什么建议吗?