MS Graph API - 在包含管理器的同时过滤嵌套变量

问题描述 投票:0回答:1

我正在尝试从 MS Graph 中吸引所有员工。一旦我将标头值 ConsistencyLevel 添加到 Eventual,此请求就非常有效。

GET /v1.0/users/?$count=true&$filter=accountEnabled+eq+true+and+onPremisesExtensionAttributes/extensionAttribute3+eq+'Employee'

但是,我还需要引入他们经理的

employeeId
,但是当我添加它时,我收到错误。

GET /v1.0/users/?$expand=manager($select=employeeId)&$count=true&$filter=accountEnabled+eq+true+and+onPremisesExtensionAttributes/extensionAttribute3+eq+'Employee'

Request_UnsupportedQuery 不支持或无效的查询过滤子句 为资源“User”的属性“extensionAttribute3”指定。

这与我在添加标头值之前在原始请求中遇到的错误相同。

这个请求似乎可行,但由于这是一所大学,它吸引了所有学生,这是我不需要的很多记录。

GET /v1.0/users/?$expand=manager($select=employeeId)&$count=true&$filter=accountEnabled+eq+true
nested microsoft-graph-api odata
1个回答
0
投票

这是 Graph API 方面的限制,并非所有

$expand
$filter
的组合都受支持,这是其中之一(按
onPremisesExtensionAttributes
进行过滤不能与扩展
manager
相结合)

解决方法似乎是在客户端通过

onPremisesExtensionAttributes/extensionAttribute3
执行过滤

仅过滤具有扩展

accountEnabled
的用户
manager
并将
onPremisesExtensionAttributes
返回给客户端。然后在客户端应用过滤

GET /v1.0/users?$expand=manager($select=employeeId)&$count=true&$filter=accountEnabled+eq+true&$select=id,userPrincipalName,onPremisesExtensionAttributes
© www.soinside.com 2019 - 2024. All rights reserved.