2017-03-06 3 views
0

私は、予定とタスクのアプリケーションとExchangeとの同期を取り直しています。EWSは過去に通知なしで予定を作成します

EWSはSendInvitationsMode列挙はSendInvitationsMode.SendToAllAndSaveCopy又はSendInvitationsMode.SendOnlyToAllのいずれかとして渡された場合にのみ、リソース上のアポイントメント(必須出席者、任意出席者)のカレンダーを示しています。

SendInvitationsMode enumを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呼び出しでオーガナイザーのメールボックスにアクセスできるだけです。出席者のメールボックスで作業を行いたい場合(出席者が内外であるため、ここで一般的な論理が失敗することを理解する必要がある)、セキュリティコンテキストを変更する必要があります。たとえば、主催者を偽装して特定の出席者を偽装するその出席者と更新するすべての出席者のミーティングを受け入れます。

あなたの他の論理が失敗するのは、出席者が最初に会議の応答を受け入れるか拒否したかを考慮する必要があることです。参加者は、各ミーティングごとに独自のExchange Storeアイテムを保持し、サーバーにではなくステータス/更新を維持するためにクライアントまで保持します。唯一の例外は、自動承認が有効になっているルームメールボックスですが、その場合でも招待/更新/キャンセルの処理を管理するメールボックスアシスタントがあります。

関連する問題