我想在去年内为每位员工导出所有约会的列表。我需要的字段是约会名称,开始时间,结束时间,地点和与会者电子邮件。
我已经开始探索EWS了。看起来这只允许您一次获得一个特定用户的任命。我的公司拥有超过14,000名员工,每人约有500人,最终将超过700万次网络电话。假设每次通话1秒钟,出口需要不到3个月。喵!
我没有排除EWS,但看起来可能无法满足我的需求。我想每天将这些数据导出到sql数据库。也许是第一次传球后的增量争夺。有没有人知道获取这些数据的其他方法?
我在Windows服务器环境中,拥有C#,Powershell和SQL Server。任何建议都需要。
答案 0 :(得分:1)
我最终住在EWS。我发现在初次调用FindItems
之后,我可以使用LoadPropertiesForItems
进行另一次调用,该调用将返回一次调用中所有项目所需的属性。所以我可以获得一个项目列表,然后加载所有与会者,总共有两个网络电话。
var propertySet = new PropertySet(BasePropertySet.IdOnly, ItemSchema.Subject,
AppointmentSchema.Start, AppointmentSchema.End, AppointmentSchema.Location,
AppointmentSchema.RequiredAttendees, AppointmentSchema.OptionalAttendees);
var results = service.FindItems(id, searchFilter, view); // first call
service.LoadPropertiesForItems(results, propertySet); // second call