我对使用Exchange Web服务有一般性疑问。
我正在使用ews-java-api
https://github.com/OfficeDev/ews-java-api
,还尝试使用JEC-Java exhange连接器。
http://elich11.freeshell.org/index.html
如果公司拥有100至500个房间,我们的目标是尽快获得所有这些房间的约会/会议的完整列表。 使用此api,最好的解决方案是使用最少的时间从已知的会议室地址列表中获取约会的总列表。
List attendees = new ArrayList();
attendees.add("room1@domain.com");
attendees.add("room2@domain.com");
attendees.add("room4@domain.com");
attendees.add("User1@domain.com");
attendees.add("User2@domain.com");
attendees.add("Room5@domain.com");
attendees.add("Room6@domain.com");
attendees.add("room10@domain.com");
attendees.add("room11@domain.com");
attendees.add("room12@domain.com");
attendees.add("room13@domain.com");
attendees.add("room14@domain.com");
attendees.add("room15@domain.com");
attendees.add("room16@domain.com");
我尝试对每个邮箱使用模拟来遍历数组中的电子邮件地址列表,以获得会议的访问权限。我还尝试为一个特定用户授予对每个邮箱的委派,所以我不必为该用户模拟该用户的每个邮箱以获取约会。
我的问题是公司可以拥有的房间数量,这两种方法我都变慢了,因为Web服务调用的数量随邮箱数量的增加而增加。
是否有任何支持的方法和变通办法来提取多个邮箱的约会,而不必为每个资源(邮箱)执行webservicecall?
答案 0 :(得分:0)
这取决于每次约会所需的详细程度。如果您需要完整的约会对象,则别无选择。但是,您可能要考虑运行多个并发查询(如果将其推得太远,则需要考虑节流会在某种程度上影响您)。
否则,如果您只需要处理Subject,Start,EndTime约会,那么GetUserAvailbility https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/getuseravailability-operation应该可以每100个批次工作。