【问题标题】:Microsoft Graph filter for onPremisesExtensionAttributes用于 onPremisesExtensionAttributes 的 Microsoft Graph 筛选器
【发布时间】:2018-04-11 00:29:05
【问题描述】:

我有一个具有以下属性的 Microsoft Graph 用户:

"onPremisesExtensionAttributes": {
            "extensionAttribute1": "attr1",
            "extensionAttribute2": null,
            "extensionAttribute3": null,
            "extensionAttribute4": null,
             etc.
        },

我似乎找不到任何有关如何过滤此属性的文档或示例。我试过了:

https://graph.microsoft.com/beta/users?$filter=extensionAttribute1 eq 'attr1'
https://graph.microsoft.com/beta/users?$filter=onPremisesExtensionAttributes/extensionAttribute1 eq 'attr1'
https://graph.microsoft.com/beta/users?$filter=onPremisesExtensionAttributes/any(x:startswith(x,'attr1'))

所有这些都会导致错误请求,因此很明显有问题。

"code": "BadRequest",
"message": "Invalid filter clause",

问题:如何针对 onPremisesExtensionAttributes 或任何其他包含命名属性列表的属性(例如 extensionAttribute1...n)格式化过滤器?对于字符串列表(例如 proxyAddresses),您可以这样做:

$filter=proxyAddresses/any(x:startswith(x,%27smtp:myemail%27))

【问题讨论】:

  • 任何人都可以在这方面提供帮助或有任何 cmet 吗?
  • 我正在尝试做同样的事情,但显然您不能“包含用户的 extensionAttributes 1-15。请注意,各个扩展属性 既不可选也不可过滤. 对于 onPremisesSyncEnabled 用户,这组属性在本地掌握并且是只读的。对于仅云用户(其中​​ onPremisesSyncEnabled 为 false),可以在创建或更新期间设置这些属性。”
  • 希望这有一个答案,因为我想做同样的事情..他们为什么不把它设为导航属性,这样你就可以使用 / 语法
  • 有人有解决办法吗?

标签: office365 azure-active-directory microsoft-graph-api


【解决方案1】:

您现在可以过滤onPremisesExtensionAttributes:

https://graph.microsoft.com/v1.0/users?$count=true&$filter=onPremisesExtensionAttributes/extensionAttribute1 eq 'attr1'

需要注意的两点:

  1. 您需要将ConsistencyLevel HTTP 请求标头设置为eventual。否则,您将收到 400 状态码并返回以下消息 Property 'extensionAttribute1' does not exist as a declared property or extension property.
  2. 即使你不关心计数,你也需要包含$count=true,否则你会得到一个400状态码和下面的消息Property 'extensionAttribute1' does not exist as a declared property or extension property.

来源:https://developer.microsoft.com/en-us/office/blogs/microsoft-graph-advanced-queries-for-directory-objects-are-now-generally-available/。

【讨论】:

  • 非常感谢!重新 #1,这是一个 HTTP 标头?
  • 是的,这是一个 HTTP 请求标头。我编辑了回复以澄清这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多