使用Microsoft Graph API按createdDateTime筛选用户时权限不足求助
解决Microsoft Graph API筛选用户数据的权限问题
问题根源
你当前配置的User.ReadBasic.All权限仅支持对有限的核心用户属性(如userPrincipalName、displayName)进行筛选,像createdDateTime这类属性的筛选需要更高权限的许可。
Graph Explorer能正常执行的原因是:它默认采用用户上下文的委托权限,且通常会请求User.Read.All这类更宽泛的权限;而你的应用使用的是服务上下文的应用权限(password授权类型属于服务端身份流),当前权限范围不足以支持复杂筛选操作。
所需权限配置
针对你的password授权服务端调用场景,需要添加以下应用权限(必须选择Application permissions标签下的权限,且需要管理员同意):
User.Read.All:允许读取所有用户的完整属性集合,支持对包括createdDateTime在内的所有标准用户属性进行筛选、排序等操作。
若后续需要修改用户数据,可补充User.ReadWrite.All权限,但仅做筛选读取的话,User.Read.All已满足需求。
注意事项
- 配置新权限后,需重新获取访问令牌,旧令牌不会包含新增的权限。
- 确保权限类型为应用权限,而非委托权限,否则无法适配password授权的服务端身份流。
内容的提问来源于stack exchange,提问作者Clipclock
相关产品推荐
相关产品推荐

