'Unauthorized' 从 Microsoft Graph 请求“/joinedTeams”时出错

'Unauthorized' error when requesting '/joinedTeams' from Microsoft Graph

我正在设置一个用于通过 Microsoft Graph API 修改 Microsoft Teams 帐户 (teams/channels) 的应用程序,但我无法从我需要的所有端点获得响应称呼。 我已按照 guide 创建具有应用程序权限的应用程序并成功获取访问(和刷新)令牌。

调用 https://graph.microsoft.com/v1.0/users/<user guid>/joinedTeams endpoint 会产生如下响应:

{
  "error": {
    "code": "Unauthorized",
    "message": "Unauthorized",
    "innerError": {
      "date": "2020-06-24T12:37:53",
      "request-id": <guid>
    }
  }
}

在调用 https://graph.microsoft.com/v1.0/users 等端点时有效 as described。该应用程序似乎尚未获得访问这些权限的 and/or 许可,但在注册后,它们列在 Azure 门户企业应用程序页面的 API 权限中,并且访问令牌 JWT 包含将权限指定为 roles 对象。

来自 JWT:

"roles": [
    "TeamSettings.ReadWrite.All",
    "User.ReadWrite.All",
    "Directory.ReadWrite.All",
    "Group.ReadWrite.All",
    "TeamMember.ReadWrite.All",
    "Team.ReadBasic.All",
    "GroupMember.ReadWrite.All",
    "Member.Read.Hidden"
  ]

我已经尝试使用 Directory.ReadWrite.All 权限以及 permissions page 上列出的 /joinedTeams 端点的完整权限列表,它们都引发了相同的错误。

奇怪的是,根据 this 401 - Unauthorized 响应将针对过期(或类似无效)的令牌给出,但显然情况并非如此因为我可以用那个令牌调用其他端点。

我错过了什么?

感谢@MikeOliver 解决了 当我注册 Teams 时,它创建了另一个目录。只有第二个目录有团队“许可证”(从 Azure 门户的许可证页面可见)。