'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 门户的许可证页面可见)。
我正在设置一个用于通过 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 门户的许可证页面可见)。