2016-09-27 23 views
0

C#用のExchange WebサービスマネージAPIを使用して一連のプライベートアポイントのマスターオカレンスを取得する方法がわかりません。プライベートアポイントのマスタ発生の取得

ExchangeServiceでFindAppointmentsを使用して予定の一覧を取得すると、検索基準内でその出現を取得できます。しかし、私はその後、IDがプライベートオカレンスのIDであるAppointment.BindToRecurringMasterを使用して定期的なマスターアポイントメントを取得しようとすると、「指定されたオブジェクトがストアに見つかりませんでした。

プライベートオカレンスのマスターオカレンスを取得する方法はありますか。

私の例では、対象のメールボックスカレンダーのレビューアのアクセス許可としてサービスアカウントを使用して認証しています。

var exchangeService = new ExchangeService(); 
exchangeService.Url = new Uri("https://outlook.office365.com/EWS/Exchange.asmx"); 
exchangeService.Credentials = new WebCredentials("[email protected]", "password", "domain"); 

const string email = "[email protected]"; 

// The following successfully retrieve all appointments including the private occurrence. 
var appointments = exchangeService.FindAppointments(
    new FolderId(WellKnownFolderName.Calendar, new Mailbox(email)), 
    new CalendarView(DateTime.UtcNow, DateTime.UtcNow.AddDays(1))); 

const string id = "AAMkA..."; // Id of the private occurrence. 
// The following fails saying "The specified object was not found in the store., Item not found." 
var appointment = Appointment.BindToRecurringMaster(exchangeService, id); 

助けてください。

+0

http://stackoverflow.com/questions/22464784/how-to-get-the-recurring-master-of-all-recurring-series-that-have-one-or-more-ocこのような可能性があります – KulOmkar

答えて

0

デリゲート操作でプライベートアイテムを表示するアクセスを委任されていない場合、プライベートアイテムの予想される動作を説明します。したがって、代行操作https://msdn.microsoft.com/en-us/library/office/dn641959(v=exchg.150).aspxを使用してメールボックスのサービスアカウント代理人権限を与え、ViewPrivateItemsをtrueに設定する必要があります。または、サービスアカウントFullAccessをメールボックスに送信するか、EWS偽装を使用します。

関連する問題