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

Sha*_*988 4 microsoft-graph-sdks microsoft-graph-api

在我的 C# 应用程序中,我将 Microsoft Graph SDK 与 Azure AD 实现结合使用。

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

谢谢,沙希达

小智 12

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

graphClient.Users.Request().Filter("startsWith(displayName, 'k')").GetAsync()
Run Code Online (Sandbox Code Playgroud)

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


小智 4

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

基于此文档,我们目前只能搜索消息和人员集合。

而且我尝试了过滤查询参数,该参数目前不支持此文档contains中的运算符。因此,如果您想通过姓名或电子邮件地址搜索用户,我们只能使用运算符。如下所示:startswith

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

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