Azure 活动目录图 api 查询用户
Azure active directory graph api query user
我正在开发一个需要查询 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();
这里是例外
"Unsupported or invalid query filter clause specified for property 'mobile' of resource 'User'."
您可以通过这种方式查询某些属性。 Linq 查询针对 Azure AD Graph API 生成一个 Filter
表达式。但是其他的,比如手机号,就不行了。
对于用户对象,可以看到可过滤的属性in the reference。
您可以过滤的那些被标记为这样(例如 Surname
属性:"GET ($filter)")。
我正在开发一个需要查询 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();
这里是例外 "Unsupported or invalid query filter clause specified for property 'mobile' of resource 'User'."
您可以通过这种方式查询某些属性。 Linq 查询针对 Azure AD Graph API 生成一个 Filter
表达式。但是其他的,比如手机号,就不行了。
对于用户对象,可以看到可过滤的属性in the reference。
您可以过滤的那些被标记为这样(例如 Surname
属性:"GET ($filter)")。