c# - 过滤组成员 Graph API
问题描述
我正在尝试使用 C# 中的 GraphClient 过滤组的成员,但它不起作用。似乎图 1.0 现在支持组成员的过滤,但我不能通过 displayName 过滤它们,或者指定我只需要用户。
这是来自 Microsoft 的示例:
GET https://graph.microsoft.com/v1.0/groups/{id}/members/microsoft.graph.user?$count=true&$orderby=displayName&$search="displayName:Pr"&$select=displayName,id
ConsistencyLevel: eventual
https://docs.microsoft.com/en-us/graph/api/group-list-members?view=graph-rest-1.0&tabs=csharp 第 5 个示例。还是我用 C# 编写的代码错了?
List<Option> options = new List<Option>
{
new HeaderOption("ConsistencyLevel", "eventual"),
new QueryOption("$search", "displayName:Pr"),
};
members= await _graphClient.Groups[groupId]
.Members
.Request(options)
.GetAsync();
}
在这种情况下,我收到错误请求,显示名称后无法识别“:”。
List<Option> options = new List<Option>
{
new HeaderOption("ConsistencyLevel", "eventual"),
};
members= await _graphClient.Groups[groupId]
.Members
.Request(options)
.Filter("displayName startsWith 'pr'")
.GetAsync();
}
在这我收到:
Microsoft.Graph.ServiceException: Code: BadRequest
Message: Invalid filter clause
我在这个问题上待了 2 天,但找不到解决方案:|
解决方案
如果搜索方法适合您,这里有一个关于如何进行搜索的片段。
List<Option> options = new List<Option>();
options.Add(new HeaderOption("ConsistencyLevel", "eventual"));
options.Add(new QueryOption("$search", "\"displayName:Danstan\""));
var members = await graphServiceClient.Groups["group-id"].Members
.Request(options)
.GetAsync();
请注意,我转义了双引号。查看有关此线程的更多详细信息。另请注意,此操作不支持 $filter。
推荐阅读
- android - 无法使用 XHR 将 base64 格式的图像发送到 android(react-native)中的 aws S3
- bash - Bash 脚本返回最新的特定文件扩展名 - 然后返回其他较新的文件
- excel - 使用 VBA 中同一工作表中的单元格值重命名 Excel 中的多个工作表
- javascript - 在 Vuex 中捕获 Axios 错误以显示 404 页面
- python - 该数字正在连接而不是添加
- python - 使用多处理池时的 Pycharm 调试器
- c - 在 C 中使用内联汇编将数据从一个数组复制到另一个数组
- react-native - 通过 onViewableItemsChanged 更改 FlatList renderItem 属性
- python - Django没有显示正确设置的图像
- tcl - 将 2 个文件与 TCL 与多个匹配项进行比较