使用 Microsoft Graph SDK 获取具有特定电子邮件域的所有用户
Get all users with a specific email domain using Microsoft Graph SDKs
我想使用 Microsoft Graph SDK 对 Microsoft Graph API 进行此查询。我想让电子邮件地址中域的所有用户都是@something.com.
将 $filter 与 endsWith 运算符结合使用
GET ../users?$count=true&$filter=endsWith(mail,'@something.com')
我试过下面这行代码:
var users= await _graphServiceClient.Users.Request().Filter("mail '@something.com'").Select(u => new {
u.Mail,
u.DisplayName,
}).GetAsync();
我得到的错误是:
Microsoft.Graph.ServiceException: 'Code: BadRequest
Message: Invalid filter clause
没有过滤器,它工作正常。我错过了什么吗?
参考:
高级查询:https://docs.microsoft.com/en-us/graph/query-parameters
Microsoft Graph SDK:https://docs.microsoft.com/en-us/graph/sdks/create-requests?tabs=CS
如果您想使用 $count
查询参数,您需要添加 ConsistencyLevel
header 和 eventual
值。
GET /users?$count=true&$filter=endsWith(mail,'@something.com')
ConsistencyLevel: eventual
在 C# 中为请求指定 header 选项和查询选项:
var options = new List<Option>();
options.Add(new HeaderOption("ConsistencyLevel", "eventual"));
options.Add(new QueryOption("$count", "true"));
将 endsWith
运算符添加到过滤器。
var users = await _graphServiceClient.Users
.Request(options)
.Filter("endsWith(mail,'@something.com')")
.GetAsync();
我想使用 Microsoft Graph SDK 对 Microsoft Graph API 进行此查询。我想让电子邮件地址中域的所有用户都是@something.com.
将 $filter 与 endsWith 运算符结合使用
GET ../users?$count=true&$filter=endsWith(mail,'@something.com')
我试过下面这行代码:
var users= await _graphServiceClient.Users.Request().Filter("mail '@something.com'").Select(u => new {
u.Mail,
u.DisplayName,
}).GetAsync();
我得到的错误是:
Microsoft.Graph.ServiceException: 'Code: BadRequest
Message: Invalid filter clause
没有过滤器,它工作正常。我错过了什么吗?
参考: 高级查询:https://docs.microsoft.com/en-us/graph/query-parameters Microsoft Graph SDK:https://docs.microsoft.com/en-us/graph/sdks/create-requests?tabs=CS
如果您想使用 $count
查询参数,您需要添加 ConsistencyLevel
header 和 eventual
值。
GET /users?$count=true&$filter=endsWith(mail,'@something.com')
ConsistencyLevel: eventual
在 C# 中为请求指定 header 选项和查询选项:
var options = new List<Option>();
options.Add(new HeaderOption("ConsistencyLevel", "eventual"));
options.Add(new QueryOption("$count", "true"));
将 endsWith
运算符添加到过滤器。
var users = await _graphServiceClient.Users
.Request(options)
.Filter("endsWith(mail,'@something.com')")
.GetAsync();