【问题标题】:Graph API access token for calendar read reports No Permissions用于日历读取报告的图形 API 访问令牌 无权限
【发布时间】: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


【解决方案1】:

您似乎授予了委派权限,但您需要应用程序权限。添加权限后记得授予管理员同意。

您可以使用https://jwt.io/解码您的令牌以检查您是否拥有正确的权限

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-12
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    • 2012-04-22
    • 2020-06-22
    相关资源
    最近更新 更多