【问题标题】:Azure AD graph API to Search multiple users based on UserPrincipalName and MailAzure AD 图形 API 根据 UserPrincipalName 和 Mail 搜索多个用户
【发布时间】:2021-12-12 21:57:02
【问题描述】:

Graph API 中是否有一种方法可以让高级查询根据电子邮件 ID 和用户主体名称搜索用户组。 我们使用带有“in”子句的过滤器参数来搜索用户 https://graph.microsoft.com:443/v1.0/users?$count=true&$filter=userPrincipalName in ('abc@xyz.com','pqr@xyz.com','guest#external@xyz.com)

上面的网址很有魅力。但是我们看到的是 Mail 而不是 userPrincipalName,我们决定根据 Mail 或 UserPrincipalName 属性进行查询。是否支持图形 api 在单个调用中搜索邮件和 UPN 属性。我尝试使用 signInNames 或 otherMails 或 issuerAssignedId 但它们不受支持。查询 UPN 和邮件的更好方法

【问题讨论】:

  • 如果回答对您有帮助,请Accept it as an Answer,以便遇到相同问题的其他人可以找到此解决方案并解决他们的问题。

标签: azure-active-directory azure-ad-graph-api


【解决方案1】:

• 您可以使用高级查询过滤器参数中的“OR”在单个查询调用中根据“UPN”和“邮件”搜索多个用户,如下所示:-

'https://graph.microsoft.com/v1.0/users?$count=true&$filter=mail in ('lobo@def.com') 或 userPrincipalName in ('abc@xyz.com')'

上述查询将根据 UPN 和邮件属性提供用户的详细信息,并从 Azure AD 中获取与用户相关的相同数据。它将获取 Azure AD 中可用的所有常规信息。

有关使用 OR 运算符的更多详细信息,请查看以下链接:-

https://docs.microsoft.com/en-us/graph/query-parameters#filter-parameter

【讨论】:

  • 我们正在搜索 100 个用户。在这些情况下,我们达到了 url 限制。我打算尝试使用 $batch api of graph
  • 当您在 MS Graph 中运行查询并期望得到比屏幕上显示的结果更多的结果时,图形浏览器会提供一个链接作为查询,以转到下一组显示的输出列表。它在图形浏览器输出中显示为“@odata.nextLink”。只需复制链接并将其粘贴到图形资源管理器的查询框中,然后运行查询即可获得下一组结果。
  • 感谢kartik,我说的是要查询的用户数超过100的“in”查询参数
  • 没有问题,即使用户数量超过100,那么上面提到的分辨率也将有助于在后续显示用户,尽管不是所有在同一页面上页面。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-14
相关资源
最近更新 更多