2017-03-06 64 views
0

我正在从约会,从我们的应用程序到Exchange的任务同步,并返回。EWS在过去的通知中创建约会

EWS是表示日历上的资源预约(需要参加者,可选与会者)只有当SendInvitationsMode枚举如任一SendInvitationsMode.SendToAllAndSaveCopySendInvitationsMode.SendOnlyToAll通过。

如果我们设置SendInvitationsMode枚举到SendInvitationsMode. SendToNone然后它只保存约会在管理器日历上。

示例代码

 Appointment meeting1 = new Appointment(service); 

     ImpersonatedUserId impersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, "organizer email"); 
     service.ImpersonatedUserId = impersonatedUserId; 
     meeting1.Subject = "Checking responses"; 
     meeting1.Body = "The purpose of this meeting is to check status."; 
     meeting1.Start = new DateTime(2017, 4,14, 12, 0, 0); 
     meeting1.End = meeting1.Start.AddHours(2); 
     meeting1.Location = "Conf Room"; 

     Attendee attendee = new Attendee(); 
     attendee.Address = "attendee email address"; 
     attendee.Name = "name"; 
     meeting1.RequiredAttendees.Add(attendee); 
     meeting1.Save(SendInvitationsMode.SendToNone); 

是否有插入预约,所有与会者可以在电子邮件通知其各自的日历明白的方式?发送过去约会的通知没有任何意义。

回答

0

您使用的是客户端API,因此只有您使用的API才能访问组织者的邮箱。如果您想在参加者邮箱上做些事情(您还需要了解与会者可以是内部或外部的,所以您的一般逻辑会失败),您需要更改安全环境,例如,模拟Organizer以模拟特定与会者然后接受该与会者以及要更新的每位与会者。

您的其他逻辑失败是您需要考虑与会者是否首先接受或拒绝了会议响应。参加者为每次会议维护自己的Exchange Store项目,并维护客户端维护状态/更新而不是服务器。唯一的例外是房间邮箱启用了自动接受功能,但即使如此,邮箱助理也会管理邀请/更新/取消处理。