2013-04-22 85 views
3

我们的Exchange管理员(Exchange 2010 SP1)已经设置了共享资源日历。 没有邮箱分配给此资源日历。我希望能够使用EWS和C#阅读会议。通过EWS和C访问没有邮箱的资源日历#

段:

 ExchangeService esvc = new ExchangeService(ExchangeVersion.Exchange2010); 
     esvc.Credentials = new WebCredentials(username, password, "ourplace.org"); 
     esvc.Url = new Uri("https://OWA.OURPLACE.ORG/EWS/Exchange.asmx"); 

     FolderId shareFolderId = new FolderId(WellKnownFolderName.Calendar, "Shared Calendar Name"); 
     CalendarFolder.Bind(esvc, shareFolderId); 

绑定语句抛出的错误:“SMTP地址没有与之关联的邮箱。”

如何阅读共享资源日历上没有关联邮箱的项目......或者甚至有可能吗?

谢谢!

+0

嗨@ user2308563,你找到答案?试过下面的答案成功。
当右键单击我的日历> [email protected]>属性
下的地方有这么一句话:\\ [email protected]
另外一个它读取\\ Jhon_Doe – jpfreire 2017-06-13 14:10:25

回答

0

如果日历实际上不在任何特定邮箱中,那么它应该在公用文件夹中,并且您应该查看子文件夹WellKnownFolderName.PublicFoldersRoot

否则,请告知它在Outlook文件夹层次结构中的确切位置。

2

绑定到与该日历邮件ADRESS

建立首先是一个FolderId的:

FolderId parkplatzCalendarId = new FolderId(WellKnownFolderName.Calendar,"[email protected]"); 

然后绑定到这一个:

CalendarFolder calendar = CalendarFolder.Bind(_service, parkplatzCalendarId); 

现在你可以使用这个日历!

CalendarView cView = new CalendarView(start, end, int.MaxValue); 

cView.PropertySet = new PropertySet(AppointmentSchema.Subject, AppointmentSchema.Start, AppointmentSchema.End, AppointmentSchema.Duration, AppointmentSchema.LastModifiedName, AppointmentSchema.Organizer, AppointmentSchema.Categories); 

FindItemsResults<Appointment> appointments = calendar.FindAppointments(cView); 

有了类似的东西; d

+1

同样重要的是要注意,你的用户'根据需要委派对资源日历的访问权限登录。我刚刚有两个小时的权限问题。 – BCza 2014-07-16 16:50:07

+0

如上所述,与具有委派访问权的用户相关联,然后使用日历的电子邮件格式创建folderId对象:[email protected] – jpfreire 2017-06-13 15:20:14