我正在尝试通过 microsoft grpah api 获取用户,一切正常。我应用了类似的过滤器:
$filter=startsWith(userPrincipalName,'A')
并且效果也很好。但是当我按createdDateTime添加过滤器时,出现错误:
{
"error": {
"code": "Authorization_RequestDenied",
"message": "Insufficient privileges to complete the operation.",
"innerError": {
"date": "1991-00-00T00:00:00",
"request-id": "some-uuid",
"client-request-id": "some-uuid"
}
}
}
在我在 Microsoft Entra ID 中创建的应用程序中,我只有 User.Read User.ReadBasic.All 权限。我使用 grant-type=password 来获取用于提供图形调用的令牌。我正在尝试应用许多过滤器,而其他过滤器也给我带来了错误。在图形浏览器中一切正常。我相信我在资源管理器中获得了相同的权限,并通过 grant-type=password 使用令牌。但这是错误的观点。有人遇到过这个问题吗?我需要获得哪些权限才能仅通过 userPrincipalName 进行过滤?
“Authorization_RequestDenied”错误只是一个权限问题。它表明用户或应用程序没有足够的权限来完成操作。为了按createdDateTime过滤用户,您的应用程序需要具有“Directory.Read.All”权限。此权限需要管理员同意。