我正在尝试从 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
这是 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