一般而言,Office API工具是为客户端构建的,可以访问他们自己的数据。不适合用户访问其他用户数据。但有一种方法可以做你想做的事。
要生成报告的用户可能是某种管理员。因此,您可以授予该用户对Everybodys邮箱的完全访问权限(通过使用委派功能)。您可以使用此PowerShell中这样做:
Get-Mailbox -ResultSize unlimited -Filter {(RecipientTypeDetails -eq 'UserMailbox') -and (Alias -ne 'Admin')} | Add-MailboxPermission -User admin -AccessRights fullaccess -InheritanceType all -AutoMapping $False
来源:http://help.outlook.com/en-us/140/gg709759.aspx
之后,你可以使用标准Exchange REST API访问的每个个人用户日历
首先你的用户列表通过拨打电话: https://outlook.office365.com/EWS/OData/Users
然后,您可以通过拨打以下电话获取每个用户的日历项目: https://outlook.office365.com/EWS/OData/Users('EMAILOF @ USER')/日历
我不太喜欢这种方法,因为我不认为管理员应该只需要完整的权限来阅读用户的日历。但显然,尽管启用了日历共享,但并不意味着日历REST端点对邮箱所有者以外的用户可用,所以我没有看到任何其他方式。除非您想使用日历共享使用的ics格式,但是您的问题属于错误的类别。