【发布时间】:2021-06-15 23:37:33
【问题描述】:
我需要提供一个端点,允许用户搜索组内的成员
下面的代码在没有传入过滤器时工作正常(它返回组的成员),但是当传入 queryString 时,我得到了这个错误
Microsoft.Graph.ServiceException:'代码:Request_UnsupportedQuery 消息:当前不支持对引用属性查询的指定过滤器。
有什么明智的方法解决这个问题吗?
MS 声称此属性是可过滤的,但是否只能通过 url API?这是否意味着我正在尝试做的事情是不可能的?
似乎在他们的示例中,他们总是设置ConsistencyLevel: Eventual - 但我不明白我们如何使用GraphServiceClient进行设置
我尝试将其添加为标题:
var consistencyLevelHeader = new HeaderOption("consistencylevel", "eventual");
request.Headers.Add(consistencyLevelHeader);
但我得到相同的结果
var groupId = "guid-of-the-group";
var request = _graphServiceClient.Value.Groups[groupId]
.Members
.Request();
if (!string.IsNullOrEmpty(queryString))
{
request = request.Filter($"startswith(displayName,'{queryString}')");
}
var groupMembersCollection = await request
.GetAsync();
var userDtos = groupMembersCollection.Select(member =>
new AzureADAccountDTO
{
ProviderKey = member.Id,
EmailAddress = ((User)member).Mail,
Name = ((User)member).DisplayName,
})
.ToList();
return userDtos;
【问题讨论】:
标签: c# azure-active-directory microsoft-graph-api graphserviceclient