Azure活动目录图api查询用户

时间:2017-12-04 06:30:43

标签: azure azure-active-directory azure-ad-graph-api

我正在开发一个需要查询Azure AD的应用。该查询正在某些领域,但在某些领域,如手机号码,它不起作用。

使用名称

进行过滤时,查询正在运行
var searchResults = await userCollection.Where(user =>
                (user.UserPrincipalName.StartsWith(searchString) ||
                user.DisplayName.StartsWith(searchString) ||
                user.GivenName.StartsWith(searchString) ||
                user.Surname.StartsWith(searchString) ||
                user.Mail.StartsWith(searchString)) && user.AccountEnabled == true).ExecuteAsync();

但是对于手机号码和其他字段,它会抛出异常

var searchResults = await userCollection
                .Where(x => x.Mobile == "+63 922 3965 021").ExecuteAsync();

这是例外 “为资源'User'的属性'mobile'指定了不支持或无效的查询过滤器子句。”

1 个答案:

答案 0 :(得分:2)

您可以通过这种方式查询某些属性。 Linq查询为Azure AD Graph API生成Filter表达式。但是其他人,比如手机号码,你就可以了。

对于用户对象,可以看到可过滤的属性in the reference

您可以过滤的内容会被标记为(例如Surname属性:" GET($ filter)")。