Microsoft Graph AD Users或people API搜索所有用户?

时间:2018-12-02 18:10:14

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

我正在尝试为我的应用程序内置功能,以便“管理员”将用户从其广告组分配到某些组,这些组进一步分配给应用程序特定的角色。基本上是一个简单的管理组件。

将带有oid的用户添加到组很容易,我面临的问题是找到实际用户。

目前,我看到的唯一选择是向v1.0 /用户发出多个api请求(最多999个项目)并将它们全部分组到内存中,然后提供简单的搜索功能来缩小范围。

我还使用了v1.0 / me / people端点来搜索用户,但这并不能显示AD组中的所有用户,只是他们所处理的相关用户,因此不太有用。

我是否可以使用其他任何api端点仅对同一活动目录的成员进行搜索?

3 个答案:

答案 0 :(得分:1)

最终切换到旧的AD Graph API并在端点上实现查询,如下所示:

https://graph.windows.net/ {租户ID} /users?api-version=1.6&$select=mail,displayName,objectId,givenName,surname&$filter=startswith(givenName,'SEARCH TERM')或startswith(surname, “搜索期限”)

如果一个函数接收到一个参数,它将在给定名称和姓氏中搜索该参数,但是您可以将其配置为在所有其他受支持的字段中进行搜索。

您也可以完全放弃$ select =以获得全部数据。但是我不希望混乱,这些键对我来说足够了。

答案 1 :(得分:1)

目前在多个属性上使用startsWith过滤器可能是我们最接近用户在MS Graph中进行搜索的方式:

https://graph.microsoft.com/v1.0/users?$filter=startswith(displayName,'sarah') or startswith(givenName,'sarah') or startswith(surname,'sarah') or startswith(mail,'sarah') or startswith(userPrincipalName,'sarah')

答案 2 :(得分:-1)

据我所知,如果您想让一个租户中的用户,您可以使用API​​:

GET https://graph.microsoft.com/v1.0/users

有关更多详细信息,请参阅document