我们如何在 Microsoft Graph 的扩展集合中使用 select?

How do we use select inside an expanded collection on Microsoft Graph?

MS Graph Explorer 中的以下查询显示登录用户的个人资料及其管理员 Diego Siciliani

https://graph.microsoft.com/v1.0/me?$expand=manager

但是您可能会注意到它在响应中也返回了 manager 对象的大量属性。其中一些属性本身就是对象(例如assignedPlans),并且也有自己的属性。

问题:我们如何过滤上述查询,以便 returns 用户配置文件(它已经在做)以及 ONLY 以下属性值用户的经理:"displayName": "Diego Siciliani"

备注: 查询returns后报错如下:https://graph.microsoft.com/v1.0/me?$expand=manager($select=displayName)

Invalid $select properties

请使用以下查询获取用户及其经理的详细信息

 https://graph.microsoft.com/v1.0/users/userid?$expand=manager($levels=max;$select=id,displayName)&$select=id,displayName&$count=true

ConsistencyLevel eventual

更新 https://graph.microsoft.com/v1.0/me?$expand=manager($levels=max;$select=displayName)&$count=true

Microsoft 的一个已知问题是嵌套的 $select 与 $expand 组合不起作用(即 $expand=some_path($select=some_field ) 不适用于 Microsoft Graph API)。

参见:https://docs.microsoft.com/en-us/graph/known-issues#query-parameter-limitations

$expand:
No support for nextLink
No support for more than 1 level of expand
No support with extra parameters ($filter, $select)

我希望他们能实现它,因为现在我们要么必须提取大量额外数据(例如,对于经理),要么我们必须为每个用户发出大量请求以仅检索我们想要的字段。

有一个处理批量请求的解决方案,但它需要一个 json 解决方案:https://docs.microsoft.com/en-us/graph/json-batching?view=graph-rest-1.0