我已经看到了一些c#代码来完成这项工作,但不确定Java中的等价物是什么。那说......
我一直在遍历所有可用的会议室,然后收集他们的约会并尝试获取有关他们的统计数据。现在拥有一切,但实际的会议响应,我专门加载与会者,我需要做什么才能得到与会者的回复?目前所有回复都是“未知”。
FindItemsResults<Appointment> aps = service.findAppointments(folderid, new CalendarView(startDate1,endDate1));
for (Item items : aps.getItems())
{
PropertySet ps = new PropertySet(ItemSchema.Subject);
ps.add(AppointmentSchema.RequiredAttendees);
ps.add(AppointmentSchema.OptionalAttendees);
ps.add(AppointmentSchema.Resources);
ps.add(AppointmentSchema.MyResponseType);
items.load(PropertySet.FirstClassProperties);
Appointment appt = (Appointment)items;
System.out.println("Required Attendees========"+appt.getRequiredAttendees().getCount());
System.out.println("Resource Count========"+appt.getResources().getCount());
System.out.println("Optional Attendees========"+appt.getOptionalAttendees().getCount());
int accepted=0;
AttendeeCollection RA=appt.getRequiredAttendees();
for (int i=0; i<appt.getRequiredAttendees().getCount(); i++){
System.out.println(RA.getPropertyAtIndex(i).getResponseType().equals(MeetingResponseType.Accept));
System.out.println(RA.getPropertyAtIndex(i).getName());
}
}
答案 0 :(得分:0)
RA.getPropertyAtIndex(ⅰ).getResponseType()。的toString() 应该得到你想要的东西。
我注意到在Outlook中,在回复会议邀请时,您必须&#34;回复没有/有评论&#34;
答案 1 :(得分:0)
您只能通过查询组织者的日历获取与会者回复。所以
使用管理器日历的文件夹ID
FolderId folderId = new FolderId(WellKnownFolderName.Calendar, new Mailbox("organizer@company.com"))
有关更多参考资料,请参阅 Tracking meeting responses by using the EWS Managed API 2.0
答案 2 :(得分:0)
您需要获取扩展属性:PidLidResponseStatus。
在XML中,它描述为:
<m:GetItem>
<m:ItemShape>
<t:AdditionalProperties>
<t:ExtendedFieldURI DistinguishedPropertySetId="Appointment" PropertyId="33304" PropertyType="Integer" />
请注意,在文档中它是一个整数,但是我发现它在某些服务器上返回一个字符串。