İçeriğe geç

C# ile Microsoft Exchange Web Service Kullanarak Takvime Erişip Takvim Verilerini Almak

Merhaba arkadaşlar bugün sizler C# kodu ile Microsoft Exchange Web Servis kullanarak Outlook ta da yer alan Exchange üzerinde yer alan Takvimlerdeki dataların çekilmesinden bahsedeceğim.

İlk olarak Development yapacağımız yere Microsoft Exchange Web Services Managed API 2.0 indirerek kurmamız gerekmektedir.

Daha sonra oluşturduğumuz projede referans olarak “C:\Program Files\Microsoft\Exchange\Web Services\2.2” konumunda yüklenmiş olan “Microsoft.Exchange.WebServices.dll” DLL dosyasını projemize referans olarak ekliyoruz.

Yukarıdaki methodu projemize ekliyoruz ve bu methoda kullanıcı adı, kullanıcı şifresi, domain adı, exchange versiyon türünü, exchange asmx servis adresini ve ITraceListener bilgilerini vererek belirttiğimiz kullanıcı üzerinden exhange server ımıza erişmiş oluyoruz.

Yukarıda görüldüğü gibi exchange serverımıza bağlandık ve altkısımda da herhangi bir sertifikasyon hatasına yakalanmamak için her durumda validation dönüşümüzü true olarak belirliyoruz.

Yukarıdaki kod ile exchange server a bağlandığınız kullanıcı ile paylaşılan odaları ve onlarda bulunan mail adreslerini listeleyebilir ve bu sayede hangi mail adreslerinin de verilerine erişe bileceğinizi görebilirsiniz.

Yukarıdaki kodumuz ile servise bağlandığımız kullanıcının takvimine sorgu atarak istediğimiz kriterlerde takvim getirebiliriz.

Yukarıda ki kod kısmında ise “MailboxToAccess” değişkenine yazmış olduğunuz mail adresi ile belirlediğimiz tarihler arasında bulunan bu adresin exchange üzerindeki outlook takvimine erişerek oradaki dataları çekebiliriz.

Veya bu iki kodu karıştırarak istediğimiz mail adresine sorgu atarak belirlediğimiz kriterlere uyan takvim öğelerini getirtebiliriz.

Kategori:Windows Form - C#

9 Yorum

  1. kubra kubra

    çok pardon c# da yeniyim,

    ExchangeService service = ConnectToService(userName, userPassword, domainName, ExchangeVersion.Exchange2013, EwsAsmxUrl, null);

    ServicePointManager.ServerCertificateValidationCallback = (sender, cert, chain, sslPolicyErrors) => true;

    bu kodları;

    public static ExchangeService ConnectToService(string UserName, string UserPass, string DomainName, ExchangeVersion exchangeVersion, string Url, ITraceListener listener)

    bu methodun içinde mi yazacağız acaba

    • Hayır. ConnectToService methodu exchange bağlantısını sağlayan bir method yukarıdaki eklemek istediğiniz kod ise bağlantınızı nerede yapmaz isterseniz orada kullanacağınız kod kısmı. Mesele Main ya da buton tıklanması gibi.

  2. misafir misafir

    methoda gönderdiğimiz ITraceListener listener değerini null olarak mı göndermeliyiz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir