正如您所寫:參與者對發送的邀請的反應是無用的,因爲約會(您的活動)的組織者沒有關於此約會的任何信息。
您可以做的是在ExchangeServer的主機日曆中添加有關用戶使用PHP網頁創建的事件的約會創建。如果您使用適當的保存方法保存約會,並且如果您訂購了主持人的日曆文件夾事件(EWS訂閱事件不是您的),並且您將定期檢查它,則可以使用與會者的回覆更新您的記錄,邀請將自動發送。
您可以創建約會是這樣的:
Appointment app = new Appointment(_service);
app.Start = DateTime.Now.AddMinutes(30);
app.End = DateTime.Now.AddHours(2);
app.Subject = "Test appointment";
app.RequiredAttendees.Add("[email protected]");
app.RequiredAttendees.Add("[email protected]");
app.Save(WellKnownFolderName.Calendar, SendInvitationsMode.SendOnlyToAll);
,併爲日曆文件夾訂閱:以上
var subscription = _service.SubscribeToPullNotifications(new FolderId[] { WellKnownFolderName.Calendar }, 5, null, EventType.Created, EventType.Deleted, EventType.Modified, EventType.FreeBusyChanged);
代碼創建關於與超時5分鐘(因此認購將日曆訂閱事件如果每5分鐘至少檢查一次,則從服務器刪除),訂閱將包含有關創建,修改,刪除或其空閒/忙碌狀態已更改的項目的事件隊列。
要查詢認購事件,你做這樣的事情:
var events = subscription.GetEvents();
if (events.AllEvents.Count > 0)
{
foreach (var itemEvent in events.ItemEvents)
{
switch (itemEvent.EventType)
{
case EventType.Created:
break;
case EventType.Modified:
break;
case EventType.Copied:
break;
case EventType.FreeBusyChanged:
break;
}
}
}
當你得到事件類型,你有興趣的項目,您可以更新數據庫
。