【问题标题】:"office 365" "API" "calendar data report"“office 365”“API”“日历数据报表”
【发布时间】:2014-07-06 04:18:43
【问题描述】:

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

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

-j

【问题讨论】:

    标签: api calendar resources report office365


    【解决方案1】:

    一般来说,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 格式,否则您的问题属于错误类别。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多