15 Mart 2010 Pazartesi

Exchange Web Services (EWS)

Bu yazımda Exchange 2007'de Exchange Web Servisleri ile toplantı odalarını getirme örneği paylaşacağım.

İlk önce burada bulunan Exchange Web Services Managed API indiriyoruz ve %programfiles%\Microsoft\Exchange\Web Services\1.0 klasörü altındaki Microsoft.Exchange.WebServices.dll referans olarak projemize ekliyoruz.
using Microsoft.Exchange.WebServices.Data;
ekledikten sonra aşağıdaki örnek kod ile Exchange 2007 üzerinde bulunan toplantı odalarının ilgili kişi ile ilişkili dolu olan saatlerini gösterebiliriz.

private void GetCalendarByUser()
{
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);

ServicePointManager.ServerCertificateValidationCallback =
delegate(Object obj, X509Certificate certificate,
X509Chain chain, SslPolicyErrors errors)
{
return true;
};

System.Net.WebProxy proxyObject = new System.Net.WebProxy();
proxyObject.Credentials = CredentialCache.DefaultCredentials;
service.Credentials = new WebCredentials("username", "password", "domain");
service.Url = new Uri("https://domain/ews/exchange.asmx");

CalendarFolder myCalendar = CalendarFolder.Bind(service, WellKnownFolderName.Calendar);
FindItemsResults myAppointments = myCalendar.FindAppointments(new CalendarView(DateTime.Now.AddDays(-5), DateTime.Now.AddDays(5)));
foreach (Appointment appointment in myAppointments)
Response.Write(appointment.Subject + ", ");
}



Hiç yorum yok: