“office 365”“API”“日历数据报告”

问题描述:

我正在寻找一种方法来为我们全部使用Office 365的员工生成Office 365日历数据报告。我查看了http://msdn.microsoft.com/en-us/library/office/dn605896%28v=office.15%29.aspx#bkCalItems的信息,该信息适用于日历数据的API。但是,我不清楚我是否真的有权访问日历中的数据 - 或者它是否会被“访问保护”。如果我拥有正确的安全/ Azure Active Directory,是否可以为所有办公人员编写日历数据报告?我不希望多个日历或多次登录并为每个人导出数据。我希望有一个综合报告显示日历日期,然后显示该日期的每个人的描述和时间。“office 365”“API”“日历数据报告”

希望这一点很清楚 - 并感谢您的指导。

-j

一般而言,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格式,但是您的问题属于错误的类别。