如何在图形 API 中使用 IN 子句Microsoft



我有两个团队ID,我想在一个查询中搜索。我已经尝试了一些可能的查询,例如一次打击,但没有任何效果

https://graph.microsoft.com/beta/groups?$filter=resourceProvisioningOptions/Any(x:x eq 'Team'( 和 id eq ['13be6971-79db-4f33-9d41-b25589ca25af', '02bd9fd6-8f93-4758-87c3-1fb73740a315]'

这是此查询给出的错误消息 { "错误":{ "代码": "错误请求", "消息": "无效的筛选子句", "内部错误":{ "请求 ID": "CED5A7C7-73A1-49BB-AFC1-3F312BAC8759", "日期":"2019-09-11T08:11:58" } } }

要使用图形 API 资源管理器,您可以单击此处 https://developer.microsoft.com/en-us/graph/graph-explorer#

鉴于您使用 v1.0 API 版本而不是测试版,那么 IN 查询应该是可能的:

$filter=displayName in ('group-1', 'group-2')

编码后的完整网址示例:

https://graph.microsoft.com/v1.0/groups?$filter=displayName%20in%20%28%27group-1%27%2C%20%27group-2%27%29

顺便说一句,这是手写的 - 我没有找到Microsoft文档示例如何构建 IN 运算符查询。

到目前为止,Graph 似乎不支持in过滤器运算符,因此出现错误。 至少文档中没有提到支持它:

对$filter运算符的支持因图形 API 而异Microsoft。通常支持以下逻辑运算符:

  • 等于 (等式(
  • 不等于 (ne(
  • 大于 (gt(
  • 大于或等于 (ge(
  • 小于 (lt(,
  • 小于或等于 (le(
  • (和(
  • (或(
  • 不是
  • (不是(

如果你对 in 子句的值集有限,你可以使用eqor,例如

https://graph.microsoft.com/beta/groups?$filter=resourceProvisioningOptions/Any(x:x eq 'Team') and (id eq '13be6971-79db-4f33-9d41-b25589ca25af' or id eq '02bd9fd6-8f93-4758-87c3-1fb73740a315')

在Microsoft文档中找到了这个

列出公司名称未定义或Microsoft的所有用户。 得到../users?$filter=companyName in (null, 'Microsoft')&$count=true.这是一个高级查询。

[https://learn.microsoft.com/en-us/graph/query-parameters#filter-parameter][1]

最新更新