java - 如何使用 EWS 从 session 室获取完整的约会详细信息

标签 java calendar exchangewebservices ewsjavaapi

我正在尝试从 session 室 session 中获取完整的 session 详细信息。下面的代码适用于用户的日历,但是当我将日历更改为 session 室(资源日历)时,它不会返回所有信息(特别是 session “主题”和“正文”。

我正在使用的用户(在凭据部分)具有“发现管理”角色以及对房间日历的“完全访问权限”,但这似乎仍然指向权限。

我还尝试添加以下模拟但没有成功:

ImpersonatedUserId uidSMTP = new ImpersonatedUserId(ConnectingIdType.SmtpAddress,”MeetingRoom@Domain.com");
service.setImpersonatedUserId(uidSMTP);

任何想法将不胜感激!

ExchangeService service = new ExchangeService();
ExchangeCredentials credentials = new WebCredentials(“User@Domain.com", “Password”);
service.setCredentials(credentials);
service.setUrl(new URI("https://outlook.office365.com/EWS/Exchange.asmx"));
EmailAddress emAddr = new EmailAddress("MeetingRoom@Domain.com");
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String td1 = "2015-12-23 15:00:00";
String td2 = "2015-12-23 23:00:00";
Date d1 = format.parse(td1);
Date d2 = format.parse(td2);
CalendarView cView = new CalendarView(d1,d2);
PropertySet prop = new PropertySet();
cView.setPropertySet(prop);
FolderId folderId = new FolderId(WellKnownFolderName.Calendar, new Mailbox(emAddr.getAddress()));
FindItemsResults<Appointment> findResults = service.findAppointments(folderId, cView);
ArrayList<Appointment> calItem = findResults.getItems();
PropertySet itemPropertySet = new PropertySet(BasePropertySet.FirstClassProperties); 
itemPropertySet.setRequestedBodyType(BodyType.Text);
int numItems = findResults.getTotalCount();
for (int i=0;i<numItems;i++) {
    Appointment Details = Appointment.bind(service, calItem.get(i).getId(),itemPropertySet);
    calItem.get(i).load();
    System.out.println(calItem.get(i).getOrganizer().getName());
    System.out.println(calItem.get(i).getStart());
    System.out.println(calItem.get(i).getEnd());
    System.out.println(calItem.get(i).getSubject());
    System.out.println(calItem.get(i).getDisplayTo());
    System.out.println(calItem.get(i).getLocation());
    System.out.println(Details.getBody());
}

最佳答案

您可能想使用 Outlook 亲自检查 session 室,因为作为一项安全功能,Exchange 将更改主题并删除正文,例如请参阅 https://technet.microsoft.com/en-us/library/dd335046(v=exchg.160).aspx默认情况下启用的 aAddOrganizerToSubject 和 DeleteComments 参数。这是为了防止有权访问 session 室邮箱的任何人访问敏感的 session 信息。

干杯 格伦

关于java - 如何使用 EWS 从 session 室获取完整的约会详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34364185/

相关文章:

java - 比较 Ascii 代码

java - Hibernate中如何进行保存点和回滚?

Java图像调整大小,保持纵横比

objective-c - objective-c 中当月的星期二数

exchangewebservices - 使用 EWS 获取原始电子邮件文本(标题、正文和编码附件)

java - 流行的 Struts 2 IDE

java - 在 Android 日历中添加用户无法修改的事件/提醒

wpf - 年历 WPF

java - EWS从Java中的特定用户获取已读/未读邮件

exchangewebservices - 带有 EWS API 的 SAML