【发布时间】:2019-09-25 15:19:58
【问题描述】:
我需要使用 MS Graph API 来检索 Office365 资源的日历数据。我们需要在服务器应用程序中执行此操作,因此需要事先征得同意。我在 Azure 门户中创建了一个应用注册,它为 Calendars.read、Calendars.read.shared、Users.Read.All 以及其他权限提供 API 权限。已为所有人授予管理员权限。已创建客户端密码以支持令牌问题。
我成功获取了token,但是当我使用token读取资源日历(甚至是我的日历)时,
我收到以下错误:
"code": "NoPermissionsInAccessToken",
"message": "The token contains no permissions, or permissions can not be understood."
GET 请求的 URL 类似于以下内容: https://graph.microsoft.com/v1.0/users/conferenceroom1@contoso.com/calendar
设置注册并使用密钥/秘密读取资源邮箱日历事件的图形 api 数据的正确方法是什么?
【问题讨论】:
-
您能分享一下您是如何索取令牌的吗?来自 Fiddler 的源 API 或实际 http 请求(在共享之前删除任何秘密)。会不会是你没有向graph.microsoft.com/.default(应用程序token to Graph)请求token?
-
希望你在 API 下尝试,docs.microsoft.com/en-us/graph/api/…
-
您能否重新检查您是否已为您的 AAD 应用程序授予所有权限,并且 AAD 全局管理员必须授予权限
-
您是否需要应用程序权限?委派的权限在您的方案中不起作用。
标签: authentication oauth azure-active-directory