Mat*_*tre 4 json microsoft-graph-api
我正在尝试过滤掉Guest
图表查询中的用户。由于ne
不支持比较运算符,我正在尝试$filter=userType eq 'Member' or userType eq null
。但这也失败了。任何已知的解决方法来列出用户null
as userType
?
如果没有这个,我每次需要下载大约一百万行,并在客户端扔掉五分之四,这是非常缓慢和浪费的。
{
"error": {
"code": "Request_UnsupportedQuery",
"message": "Unsupported or invalid query filter clause specified for property 'userType' of resource 'User'.",
"innerError": {
"request-id": "411f7927-c3af-4042-a619-eee1c88971a0",
"date": "2018-03-17T18:28:35"
}
}
Run Code Online (Sandbox Code Playgroud)
作为一般经验法则,userType
应该是Member
或Guest
。例外情况是当您同步本地 Active Directory 时。由于userType
是 Azure AD 属性,因此同步用户的值将是null
。
如果可以安全地假设本地用户不是来宾,则可以根据 Azure AD 用户是同步的还是云本机的来过滤他们。您可以通过查看该onPremisesSyncEnabled
属性来做到这一点。对于同步用户来说,这将是true
,对于云原生用户来说,这将是null
。
如果将此与userType
属性结合起来,您可以使用以下命令有效地仅检索非来宾用户$filter
:
$filter=onPremisesSyncEnabled eq true OR userType eq 'Member'
Run Code Online (Sandbox Code Playgroud)
如果在Azure AD Connect中启用 UserType 同步,也可以完全避免这种情况。