6

部屋予約システムを Exchange に統合するために、Exchange をいじってみました。

会議室メールボックスを作成し、予約リクエストを自動的に受け入れるように設定しました。

標準ユーザーとして予定を作成すると、部屋をリソースとして追加でき、その空室状況が表示されます。予約すると、正常に予約されます。

部屋をリソースとして Exchange Web サービス経由で予定を作成しました。リソースは正常に予約されましたが (会議室の代理人として開いたときに確認されたように)、出席者のいずれかが表示する会議には表示されません。

        var service = new ExchangeService(ExchangeVersion.Exchange2007_SP1) {
            Credentials =
                new NetworkCredential("username", "password", "domain"),
            Url = new Uri("https://myexchangeserver.co.uk/EWS/Exchange.asmx")
        };

         var appointment = new Appointment(service)
                              {
                                  Subject = "Created by ExchangeTest app",
                                  Body = "Some body text....",
                                  Start = startTime,
                                  End = endTime
                              };
        appointment.RequiredAttendees.Add("AnAttendee@myexchangeserver.co.uk");
        appointment.Resources.Add("ARoom@myexchangeserver.co.uk");
        appointment.Save(SendInvitationsMode.SendOnlyToAll);

手動で予約した場合と同じように表示されない理由について何か考えはありますか?

補足として、この部屋のカレンダーを代理人以外のユーザーとして実際に表示することはできません。フォルダが見つからないと表示されます。

4

2 に答える 2

1

あなたの主な問題についてはよくわかりません。

ただし、補足事項について:

予定を検索してみましたか?

FolderId folder = new FolderId(WellknownFolderName.Calendar,"test@test.com");
CalendarView calendarView = new CalendarView(startDate, endDate);

foreach (Appointment exchangeAppointment in service.FindAppointments(folder, calendarView))
{
    // Here you should be able to get access on the appointments at the specified folder & address
}
于 2011-12-05T09:09:14.433 に答える
0

ミーティングを手動で作成してからバインドしてみてください。そうすることで、オブジェクトを参照して、自分のものとの違いを確認できるはずです。

var appointment = Appointment.Bind(service, new ItemId("yourmeetingid"));
于 2011-08-22T14:02:31.743 に答える