将.Filter()中的多个筛选器与.NET应用程序中的GraphServiceClient一起使用



我无法组合过滤器。当我尝试这样做时,我从Graph中得到了一个错误。示例如下:

这项工作:

var users = await client.Users
.Request()
.Filter($"userType eq 'Member'")
.Select(u => new
{
u.DisplayName,
u.UserType,
u.SignInActivity,
})
.GetAsync();

这也起作用:

var users = await client.Users
.Request()
.Filter($"signInActivity/lastSignInDateTime le 2021-11-01T00:00:00Z")
.Select(u => new
{
u.DisplayName,
u.UserType,
u.SignInActivity,
})
.GetAsync();

然而,如果我组合过滤器,它不会:

var user = await client.Users
.Request()
.Filter($"userType eq 'Member' and signInActivity/lastSignInDateTime le 2021-11-01T00:00:00Z")
.Select(u => new
{
u.DisplayName,
u.UserType,
u.SignInActivity,
})
.GetAsync();

我得到错误Filter not supported.。我错过了什么?

根据文档,signInActivity属性支持$filter,但不支持任何其他可筛选属性。

仅在$select上返回。支持$filter(eq,ne,not,ge,le(,但不支持任何其他可过滤属性。注意:此属性的详细信息需要Azure AD Premium P1/P2许可证和AuditLog.Read.All权限。

最新更新