Office 365 API或Azure AD Graph API - 获取别人日历

时间:2015-07-22 19:51:11

标签: office365 azure-active-directory office365-apps outlook-restapi

我正在尝试办公室365日历,不是“我”,而是联系人。即在我工作的公司(有一个全球地址列表)中,我想访问Dave的日历,就像我在Outlook中一样。

我浏览过文档here,StackOverflow(例如herehere),以及Office 365 samplesGraph API samples(我认为需要图谱API)对于全局地址列表),但找不到办法。

我有3个问题:

  1. 这可能吗?
  2. 如果是,请问怎么样?
  3. 如果无法使用全局地址列表,是否可以通过Office 365创建联系人 - 如果是,如何实现?
  4. 任何帮助都非常感激。

2 个答案:

答案 0 :(得分:3)

如果我正确了解您的情况,目前无法实现。如果您以自己的身份登录,则只能访问您的邮箱。您无法访问其他人,即使他们已授予您访问权限。这是我们希望改进的东西,但是现在你不能这样做。

您可以创建一个使用客户端凭据身份验证流程的应用,管理员可以授予所有用户访问权限,但我不认为这是您要采用的方案。< / p>

答案 1 :(得分:3)

首先,是的,这是可能的,但您需要使用App-Only令牌来访问Exchange API以获取此数据。请务必记住,API的访问令牌决定了您访问该API的权限。假设您不是管理员,如果您获得用户令牌并尝试查询其他人的日历,您将获得“403 - 禁止”,因为您只有阅读自己日历的权限。

另一方面,您可以请求您的应用程序具有应用程序权限(与委派的Permssions相对),这将为您提供高级访问权限,无需登录用户的上下文即可查询Exchange API。您可以查看有关这些权限的文档here at Table 4

请注意,对于请求这些权限级别的任何应用程序,在应用程序能够访问之前,需要管理员同意。从上面的同一页面:

  

注意描述服务应用权限的表格不包含   需要管理员同意列,始终作为服务应用的权限   需要管理员同意。有关服务应用的详细信息,请参阅   Building service and daemon apps in Office 365

请查看该引文中的链接,因为它可能真的有助于您开始开发服务应用程序。

我希望这有帮助!