Graph API查询用户应用角色分配无返回值问题咨询
针对你遇到的Graph API查询用户应用角色分配返回200 OK但无数据的问题——不管是官方示例还是自有租户、Beta版API都出现相同情况——可以按以下步骤排查:
核对权限配置
必须确保调用API的身份拥有正确权限:应用权限需Application.Read.All或Directory.Read.All,委托权限需User.Read.All或Directory.Read.All,且这些权限已获得管理员同意。如果是委托权限,当前登录用户还需具备访问目标用户应用角色分配数据的权限。确认用户实际有应用角色分配
登录Azure门户,进入「Azure Active Directory」→「用户」→ 目标用户页面,查看「应用角色分配」板块,确认该用户确实被分配了应用角色。若本身无分配,API自然返回空结果。检查请求URL格式
确保请求URL完全正确,针对特定用户的标准请求格式为:GET https://graph.microsoft.com/v1.0/users/{user-id}/appRoleAssignmentsBeta版格式为:
GET https://graph.microsoft.com/beta/users/{user-id}/appRoleAssignments避免出现
appRoleAssignments拼写或大小写错误。排查租户策略限制
检查租户是否设置了限制应用角色分配可见性的策略,比如Azure AD条件访问规则、自定义权限策略等,这类配置可能导致API无法返回数据。查看Graph API服务状态
登录Microsoft 365管理中心查看服务健康状态,确认Azure AD和Graph API是否存在故障或正在维护,服务异常也会导致数据无法正常返回。用Graph Explorer做详细测试
使用管理员账号登录Graph Explorer,直接测试查询请求,查看响应头中的详细信息,排查是否有隐藏的错误提示或权限告警。若为权限问题,Graph Explorer通常会给出明确提示。
内容的提问来源于stack exchange,提问作者Kristian Roland

