3

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

我已经阅读了此处的文档、StackOverflow(例如此处此处)以及Office 365 示例Graph API 示例(我相信全局地址列表需要 Graph API),但找不到解决方法。

我有3个问题:

  1. 这可能吗?
  2. 如果有,请问怎么做?
  3. 如果无法使用全局地址列表,是否可以使用通过 Office 365 创建的联系人 - 如果可以,如何?

非常感谢任何帮助。

4

2 回答 2

3

如果我正确理解您的情况,目前是不可能的。如果您以您的身份登录,您只能访问您的邮箱。您无法访问其他人,即使他们已将访问权限委托给您。这是我们正在寻求改进的东西,但现在你不能这样做。

您可以创建一个使用客户端凭据身份验证流程的应用程序,并且管理员可以授予所有用户访问权限,但我认为这不是您想要的场景。

于 2015-07-22T20:22:02.157 回答
3

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

另一方面,您可以请求您的应用程序具有应用程序权限(相对于委派权限),这将使您能够在没有登录用户上下文的情况下查询 Exchange API 的高级访问权限。您可以在表 4中查看有关这些权限的文档。

请注意,对于请求这些级别权限的任何应用程序,都需要管理员同意才能获得访问权限。从与上述相同的页面:

注意描述服务应用程序权限的表不包括需要管理员同意列,因为服务应用程序的权限始终需要管理员同意。有关服务应用的详细信息,请参阅 在 Office 365 中构建服务和守护程序应用

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

我希望这个对你有用!

于 2015-07-22T20:31:36.943 回答