阅读其他用户

时间:2016-04-19 21:00:17

标签: angularjs node.js azure office365 microsoft-graph

我正在使用angular和nodejs创建一个应用程序,我需要能够读取另一个用户的事件列表。现在我正在尝试使用“https://graph.microsoft.com/v1.0/users/otherusername@companyurl.com/events”这给了我403“访问被拒绝。检查凭据然后再试一次。”但是,如果我使用“https://graph.microsoft.com/v1.0/users/myusername@companyurl.com/events”它会起作用(正如大多数人所期望的那样)。我的问题是,为什么当我使用Outlook时我可以使用调度助手来查看“otherusername@companyurl.com”的事件而不是管理员,但在我的应用程序中,由于凭据我无法看到他们的事件?

我用来连接到microsoft graph api的库是https://github.com/AzureAD/azure-activedirectory-library-for-js

我在azure中设置的委派权限是

  • 查看用户的电子邮件地址
  • 中签名用户
  • 阅读用户联系人
  • 拥有对用户日历的完全访问权限
  • 阅读用户日历
  • 以用户身份发送邮件
  • 读取目录数据
  • 阅读所有用户的基本资料
  • 登录并阅读用户个人资料

应用程序权限(我理解这些需要管理员)

  • 阅读所有邮箱中的日历

Graph api permission scopes

感谢任何帮助,谢谢你。

1 个答案:

答案 0 :(得分:1)

Fugal - 这是设计的。您可以使用FindMeetingTimes API来安排与其他用户的会议。只需使用Calendar.Read权限即可完成此操作。有关详细信息,请参阅http://graph.microsoft.io/en-us/docs/api-reference/beta/api/user_findmeetingtimes

要使用/ events端点查看其他用户的日历,您需要一个我们仍在添加的特殊权限(类似Calendar.Read.Shared)。添加后,您将能够使用/ Events访问其他用户明确与您共享的任何日历。但是,如果您只想安排会议,FindMeetingTimes就足够了。