azure - 从 Microsoft Graph 请求 '/joinedTeams' 时出现“未经授权”错误

标签 azure microsoft-graph-api microsoft-teams

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

调用 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 。应用程序似乎尚未获得访问这些内容的同意和/或权限,但注册后,它们会列在 azure 门户企业应用程序页面的 API 权限中,并且访问 token JWT 包含指定的权限作为 roles 对象.

来自智威汤逊:

"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,对于过期(或类似无效)的 token ,将会给出 401 - Unauthorized 响应,但显然情况并非如此,因为我可以用该响应调用其他端点 token 。

我错过了什么?

最佳答案

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

关于azure - 从 Microsoft Graph 请求 '/joinedTeams' 时出现“未经授权”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62555955/

相关文章:

c# - tfs 站点服务器中出现 "Value cannot be null. Parameter name: key"问题

microsoft-graph-api - 无法获取 Onedrive 共享文件权限

c# - 从Azure容器和子目录中获取所有blob Uris

azure - 单个 Azure Web App 的多个实例是否共享单个磁盘?

c++ - Azure 和 native 代码

sharepoint - Microsoft Graph Sharepoint 子网站列表

microsoft-graph-api - token 中需要存在 scp 或角色声明

node.js - 如何向 MS Teams 上的用户发送私有(private)消息?

azure - 使用 ADAL 获取 access_token

R:如何从 Azure ML Notebook 中的 R 数据存储中读取 parquet 文件