博客
关于我
如何使用Exchange Web Service Managed API获取公共文件夹日历(包括循环会议)
阅读量:434 次
发布时间:2019-03-06

本文共 2413 字,大约阅读时间需要 8 分钟。

在Exchange2010及其以后,MS提供了来调用Exchange的接口

下面代码演示了如何获取公共日历

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010);        service.Credentials = new NetworkCredential("user", "password", "domain");        service.Url = new Uri();        System.Net.ServicePointManager.ServerCertificateValidationCallback =            delegate(            Object obj,            X509Certificate certificate,            X509Chain chain,            SslPolicyErrors errors            )            {                return true;            };        //CAL        string _id = "AAEuAAAAAAAaRHOQqmYRzZvIAKoAL8RaAwBZaXl0Ei75TYF0WbP9Pt4/AAAFNPQsAAA=";        CalendarView view = new CalendarView(DateTime.Now.AddDays(-5), DateTime.Now.AddDays(5));        CalendarFolder cf = CalendarFolder.Bind(service, new FolderId(_id));        //CalendarFolder.(service);        //Folder inbox = Folder.Bind(service, WellKnownFolderName.Inbox);        // service.ClientRequestId = _id;        FindItemsResults
findResults = cf.FindAppointments(view); foreach (Appointment appointment in findResults.Items) { Response.Write(appointment.Start+"--" + appointment.Subject + "
"); }

在上面代码里,有一个_id参数,他是日历的ID,下面代码演示了如何获取日历的ID

系统的入口是PublicFoldersRoot参数

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010);        service.Credentials = new NetworkCredential("user", "password", "domain");        service.Url = new Uri("https://www.sohu.com/ews/exchange.asmx");        System.Net.ServicePointManager.ServerCertificateValidationCallback =            delegate(                    Object obj,                    X509Certificate certificate,                    X509Chain chain,                    SslPolicyErrors errors            )                {                return true;              };               FolderView view = new FolderView(5);        view.PropertySet = new PropertySet(BasePropertySet.IdOnly);        view.PropertySet.Add(FolderSchema.DisplayName);        view.Traversal = FolderTraversal.Shallow;        FindFoldersResults findFolderResults = service.FindFolders(WellKnownFolderName.PublicFoldersRoot, view);        //find specific folder        foreach (Folder f in findFolderResults)        {            //show folderId of the folder "test"           // if (f.DisplayName == "Test")            Response.Write(f.DisplayName+"**"+f.Id.UniqueId+"
"); }

 

 

转载地址:http://bzeyz.baihongyu.com/

你可能感兴趣的文章
ApiPost自动化测试基础之:如何使用测试校验(测试用例)?
查看>>
apipost 导出文档响应为空?
查看>>
完美替代postman的接口测试工具—— apipost
查看>>
简单记录一次getshell到进服务器的过程
查看>>
记某次sql注入绕过ids
查看>>
JDK动态代理(Proxy)的两种实现方式
查看>>
【平台开发】— 7.重构-增加结果统一处理
查看>>
【pytest】(十一)fixture参数化-巧用params和ids的真接口自动化实战
查看>>
【mybatis-plus】条件查询
查看>>