如何使用C#在Microsoft Graph SDK中搜索用户?

时间:2018-10-24 13:17:39

标签: microsoft-graph microsoft-graph-sdks

在C#应用程序中,我将Microsoft Graph SDK与Azure AD实施一起使用。

请建议我如何根据搜索参数搜索组织(全局联系人)中的用户。 例如,如果“ Raj”是搜索参数,则我应该能够使所有名称包含“ Raj”或电子邮件地址包含“ Raj”的用户。 我发现此方法可获取所有用户-“ graphClient.Users.Request()。GetAsync();”。但是,由于这种方法的响应有限,我没有得到确切要搜索的内容。

谢谢, Shashidhar

2 个答案:

答案 0 :(得分:1)

添加到上一个答案:要通过Graph C#SDK完成此操作,请使用Filter()方法:

graphClient.Users.Request().Filter("startsWith(displayName, 'k')").GetAsync()

您可以在请求上使用其他方法来自定义请求,例如Select()等。

答案 1 :(得分:0)

根据您的描述,我假设您想使用搜索参数来搜索用户。

基于this document,我们当前只能搜索消息和人员集合。

并且我尝试了过滤器查询参数,this document中的contains运算符目前不支持该参数。因此,如果您要搜索名称或电子邮件地址的用户,我们只能使用startswith运算符。像这样:

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

它将找到以k开头的用户的diplayName或邮件