2

Exchangeアカウントからカレンダー情報を取得する目的で.NETアプリケーションを構築しようとしています。リソースに関する空き時間情報を取得したいのですが。Exchange2010接続でEWS.NETAPIを使用しています。

予定の開始時刻や終了時刻などの情報を取得できますが、件名、CalendarEvents.Detailsに含まれる場所などの他の情報を取得できません。実際、この最後の属性は常にnullです。どうやらそれは許可の問題かもしれませんが、私は自分の資格情報で自分のカレンダーを読み込もうとしているので、論理的ではありません。

//Exchange Connection
this.service = new ExchangeService(ExchangeVersion.Exchange2010);
service.Credentials = new WebCredentials(user, password, domain);
service.AutodiscoverUrl(this.email);


 List<AttendeeInfo> attendees = new List<AttendeeInfo>();

 //L'utilisateur déclaré dans l'objet, identifié par l'email
 attendees.Add(new AttendeeInfo()
 {
    SmtpAddress = this.email,
    AttendeeType = MeetingAttendeeType.Organizer
  });

 AvailabilityOptions myOptions = new AvailabilityOptions();
 myOptions.MeetingDuration = 30;
 myOptions.RequestedFreeBusyView = FreeBusyViewType.FreeBusy;


 GetUserAvailabilityResults freeBusyResults = service.GetUserAvailability(attendees,
                                                                             new TimeWindow(DateTime.Now, DateTime.Now.AddDays(1)),
                                                                                 AvailabilityData.FreeBusy,
                                                                                 myOptions);



  foreach (AttendeeAvailability availability in freeBusyResults.AttendeesAvailability)
        {

         foreach (CalendarEvent calendarItem in availability.CalendarEvents)
         {
             //The details here are always null :/          
            if (calendarItem.Details != null)
             {
               label3.Text = "Subject: " + calendarItem.Details.Subject +"\n";
               label3.Text += " Location:" + calendarItem.Details.Location ;
             }


             label3.Text += "\n";
             label3.Text += "Start:" + calendarItem.StartTime.TimeOfDay ;
             label3.Text += "End:" + calendarItem.EndTime.TimeOfDay;
             label3.Text += "\n";
             panel1.BackColor = Color.PaleVioletRed;
             break;       
         }
    }

前もって感謝します、

4

1 に答える 1

4

私は同じ問題を抱えていました。おそらく同じサンプルコードを使用していました。問題は、可用性オプションの FreeBusyViewType にあります

myOptions.RequestedFreeBusyView = FreeBusyViewType.Detailed;

MSDN ドキュメントへのリンク

于 2013-09-17T21:03:25.803 に答える