首页 > 解决方案 > 在 Microsoft Graph API 和 ODATA 上通过电子邮件搜索用户时使用句点/点不返回任何结果

问题描述

我正在使用 Microsoft Graph API 从我的目录中获取其电子邮件地址以给定值开头的所有用户。

除非我的值包含句点/点,否则一切正常。在这种情况下,Graph API 不返回任何结果。

如何使用包含句点/点的给定值开始搜索所有用户的电子邮件。

这是一个例子。以下请求工作正常:

https://graph.microsoft.com/v1.0/users?$filter=startsWith(displayName, 'john')

以下请求(在 odata 查询中包含一个点)不返回任何结果

https://graph.microsoft.com/v1.0/users?$filter=startsWith(displayName, 'john.d')

我已经尝试使用 %2E 对点/句点进行编码,但它不起作用:

https://graph.microsoft.com/v1.0/users?$filter=startsWith(displayName, 'john%2ed')

有人知道我该怎么做吗?谢谢 !

标签: character-encodingodataazure-ad-graph-api

解决方案


根据我的测试,点应该在这个过滤器查询中工作。

如果我们想通过电子邮件搜索用户。我们可以 $filter 字段mail而不是字段displayName

https://graph.microsoft.com/v1.0/users?$filter=startsWith(mail, 'john.d')

推荐阅读