MS Teams 集成和 Microsoft Graph API - 调用事件时出错 API 列出日历 (/me/calendars)

MS Teams Integration & Microsoft Graph API - Error calling Events API List calendars (/me/calendars)

我正在尝试将 MS Teams API 集成到 Web 应用程序中。 首先,我尝试使用 Postman 的 MS API 来查看工作流程。

在 Azure UI 上,我已成功创建应用程序注册:我有我的 ClientIDTenantID 和我还创建了 客户端密码

我从 https://github.com/microsoftgraph/microsoftgraph-postman-collections 下载了 Postman API,我可以检索 App-Only 访问令牌

我在一个组中创建了两个用户,我将他们登录到 MS Teams 应用程序,他们可以聊天。

我还可以获得 用户访问令牌 和端点

  1. https://graph.microsoft.com/v1.0/users
  2. https://graph.microsoft.com/v1.0/me
  3. 等..

工作正常。

我将用户访问令牌作为请求的承载令牌传递。

这些是我授予的 API 权限:

我在文件夹 Events 中遇到端点问题,例如:

  1. https://graph.microsoft.com/beta/me/findRooms
  2. https://graph.microsoft.com/v1.0/me/calendars
  3. 等..

他们都报同样的错误:

{
   "error":{
      "code":"NoUserFoundWithGivenClaims",
      "message":"The user specified by the user-context in the token does not exist.",
      "innerError":{
         "oAuthEventOperationId":"08e3abc3-3fdf-4d85-849d-7632ac0723d2",
         "oAuthEventcV":"CGW24oLIeEW1qoscgMIMTw.1.1",
         "errorUrl":"https://aka.ms/autherrors#error-InvalidUser",
         "requestId":"8e6cb242-17fe-4a94-8c89-912606578fb3",
         "date":"2021-03-09T12:04:27"
      }
   }
} 

我还没有发现任何关于这个错误的信息。 有人能帮我吗? 谢谢。

您可以通过将其放入 jwt.ms 来检查您的不记名令牌,并查看您是否具有 'scp' 声明中所需的权限。

如果您获得 MailboxNotEnabledForRESTAPI,那么您需要检查您是否拥有适当的交易所许可证。

您可以通过进入 Microsoft Admin Center -> 用户 -> 活跃用户 -> Select 您的用户 -> 许可证

添加许可证