You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Microsoft Graph最新版本查询邮箱包含/后缀匹配特定序列的用户?

在Microsoft Graph中查询邮箱匹配特定规则的用户

要一次性获取所有邮箱符合你指定规则的用户数组,直接用Microsoft Graph的$filter参数结合OData字符串函数就能实现,不需要逐个查询用户。下面分两种场景给出具体的查询语句:

场景1:邮箱包含特定字符序列

对应你代码里的users.Where(x => x.Contains(str))逻辑,使用OData的contains函数即可:

GET https://graph.microsoft.com/v1.0/users?$filter=contains(mail,'{你的特定字符序列}')&$select=id,mail,displayName
  • contains(mail,'xxx'):匹配所有邮箱字段中包含xxx的用户
  • $select:可选参数,用来指定返回的用户字段(比如id、邮箱、显示名称),避免返回不必要的冗余数据,提升响应效率
  • 响应的JSON里,value字段就是符合条件的用户数组

场景2:邮箱以特定字符序列结尾

对应你代码里的users.Where(x => x.EndsWith(str))逻辑,使用OData的endsWith函数:

GET https://graph.microsoft.com/v1.0/users?$filter=endsWith(mail,'{你的特定字符序列}')&$select=id,mail,displayName
  • endsWith(mail,'xxx'):匹配所有邮箱字段以xxx结尾的用户
  • 同样,$select可以按需调整返回字段

一些注意事项

  • 权限要求:确保你的应用已被授予User.Read.All(读取所有用户信息)或User.ReadBasic.All(仅读取用户基本信息)的权限,否则会返回权限不足的错误
  • 大小写敏感性:Microsoft Graph的OData字符串函数默认是大小写不敏感的,所以不需要额外处理大小写匹配的问题
  • 分页处理:如果符合条件的用户数量较多(超过100个),Graph会自动分页,响应里会包含@odata.nextLink字段,你可以通过这个链接获取下一页的结果

内容的提问来源于stack exchange,提问作者UberFace

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:40:47