"办公室365" " API" "日历数据报告"

时间:2014-07-01 00:57:15

标签: api calendar resources report office365

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

希望这很清楚 - 谢谢你的指导。

-j

1 个答案:

答案 0 :(得分:0)

通常,Office API工具是为客户端构建的,以便访问自己的数据。不是用户访问其他用户数据。但是有一种方法可以做你想做的事。

要生成报告的用户可能是某种管理员。因此,您可以授予该用户对每个人邮箱的完全访问权限(通过使用委派功能)。您可以使用此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格式,否则您的问题属于错误的类别。