问题:
我正在使用 Microsoft Graph API检索组成员。我需要根据“ displayName ”对结果进行排序。自己做这个,效果很好。我还需要知道返回的成员是否可能有自己的成员。因此,我将扩展(成员)添加到我的 OData 查询中。展开工作,但原来的 orderBy 然后无法订购。
似乎您可以在“组”调用中使用 Expand 和 Orderby,但不能在“成员”调用中使用。
图资源管理器:
作品:
仅针对组成员的 Orderby :
https://graph.microsoft.com/v1.0/groups/{groupId}/members/microsoft.graph.group?$orderby=displayName
仅在组上展开和排序:
https://graph.microsoft.com/v1.0/groups?$expand=memberOf($filter=not memberOf/any())&$orderby=displayName
**带有请求头: ConsistencyLevel:最终
不起作用:
对组成员展开和订购:
https://graph.microsoft.com/v1.0/groups/{groupId}/members/microsoft.graph.group?$orderby=displayName&$expand=members
文档:
我似乎找不到文档将其标记为问题的任何地方。我能找到的最接近的是“已知问题”页面,指出“$expand:不支持@odata.nextLink。不支持超过 1 级扩展。 不支持额外参数($filter,$select)。 ”
https://docs.microsoft.com/en-us/graph/known-issues?view=graph-rest-1.0#query-parameter-limitations
这些仅标记过滤器和选择...此外,这并不能解释为什么我可以将 Expand、Filter 和 OrderBy 都与Groups调用结合使用,但不能与Members调用结合使用
其他注意事项:
我一直在使用Microsoft Graph Explorer和.Net SDK(版本 3.25 和最新的 4.0)进行测试。这两个都给出了同样的问题。
**另外:.NetSDK 存在一个现有的开放错误,在执行成员调用时不允许投射到组。我对此没有问题,目前正在使用一种解决方法:
https://github.com/microsoftgraph/msgraph-sdk-dotnet/issues/836