Microsoft graph api 从用户和扩展管理器中选择特定字段

Microsoft graph api 从用户和扩展管理器中选择特定字段,microsoft-graph-api,Microsoft Graph Api,我想得到所有用户的经理关系,这可以很容易地做到 但是我得到了所有用户的所有数据和每个经理的所有数据,这太多了!我想限制我的结果集仅返回用户的id和displayName,以及管理器关系上的唯一id 这不起作用,我收到以下错误: 术语“manager($select=id)”在$select或$expand表达式中无效 非常感谢您的帮助。遗憾的是,我也在寻找这一点-这似乎不受支持: 并非所有资源或关系都支持在展开的项目上使用$select 我想这意味着你不能在管理器扩展上使用选择 我甚至想说,

我想得到所有用户的经理关系,这可以很容易地做到

但是我得到了所有用户的所有数据和每个经理的所有数据,这太多了!我想限制我的结果集仅返回用户的id和displayName,以及管理器关系上的唯一id

这不起作用,我收到以下错误:

术语“manager($select=id)”在$select或$expand表达式中无效


非常感谢您的帮助。

遗憾的是,我也在寻找这一点-这似乎不受支持:

并非所有资源或关系都支持在展开的项目上使用$select

我想这意味着你不能在管理器扩展上使用选择

我甚至想说,您不能在用户查询本身上使用select,因为无法在select中包含扩展的“管理器”,即使包含其所有属性。设置select语句后,扩展的manager属性将消失

在这一点上有两种选择:

  • 获取没有管理员的用户,然后创建一次20个批处理请求以获取用户管理员(仅id)
  • 放弃追求效率,让所有用户和他们的经理一起使用他们的所有属性。这会使你的请求膨胀,但你会得到更少的请求

  • 我认为,根据您计划获取的数据量(用户数量、所需属性),您应该为自己选择最佳的前进方式。

    以下是graph API文档,展示了如何扩展整个管理链并返回选定字段。需要注意的是,它可以在文档页面上工作,但不会返回预期的结果

    指向graph API用户列表管理器的链接:


    这是针对单个用户对象的,我认为OP为一组用户请求了此信息。@ShaiPetel,它记录在graph API中,涉及将
    me
    更改为
    users
    https://graph.microsoft.com/v1.0/me?$expand=manager($levels=max;$select=id,displayName)&$select=id,displayName&$count=true