在团队或频道中获取用户角色

Getting user role in Team or channel

我有一个 Microsoft Teams 组选项卡,我想实施一个权限系统,用户可以在该系统中根据他们在团队(或频道)中的角色在选项卡中执行不同的操作。我从 Teams JavaScript API 获得的上下文不可信,因此我必须通过 MS Graph API.

检查 group/team/channel 角色

我发现检查用户是所有者还是团队成员的唯一方法是调用 /teams/{groupId}/channels/{channelId}/members。在响应中,我可以看到用户拥有哪些角色,因此我可以查明当前用户是否拥有所有者权限。

问题是这个端点需要管理员同意(我猜是因为它显示了其他用户的数据)。但是,我想避免征求管理员的同意。有没有另一种方法可以在未经管理员同意的情况下找出团队中用户的角色? (由于私人频道在 Teams 中的行为不同,这与了解频道中的角色相同)

我知道如果如果用户在一个组中,我可以通过添加到 ID 令牌的可选组声明来获取,但这不包括group/team/channel.

读取用户在频道中的角色目前需要管理员同意,所需权限为ChannelMember.Read.All请参阅列表对话成员文档here。还需要管理员同意才能获得团队成员或列出团队成员。对于您的特定用例,我建议您让管理员授予这些权限。