使用 Microsoft Graph 扩展 DL,是否可以在 $expand 之后使用 $select 来减小响应大小?

Using the Microsoft Graph to expand a DL, can $select be used after an $expand to reduce response size?

我正在尝试查找通讯组列表的所有成员,给定它的电子邮件地址。假设我有 sampleDL@example.com 并且想扩展它的成员,只返回 displayNameuserPrincipalName,我可以这样做吗?

我正在使用带 $filter 和 $expand 的 Microsoft Graph Explorer, logged in as myself. In the query box, I can get the -

https://graph.microsoft.com/v1.0/groups/?$filter=mail+eq+'sampleDL@example.com'&$expand=members

但反响很大,每个成员都已扩展到完整的 属性 集。我只想包括 displayNameuserPrincipalName。我想也许可以通过 $select -

来减少响应
https://graph.microsoft.com/v1.0/groups/?$filter=mail+eq+'sampleDL@example.com'&$expand=members($select=displayName,userPrincipalName)

但是这样做 returns 一个错误 -

{
    "error": {
        "code": "Request_BadRequest",
        "message": "Term 'members($select=displayName,userPrincipalName)' is not valid in a $select or $expand expression.",
        "innerError": {
            "request-id": "02f3471c-9e93-4bcc-8b7f-dffd187cd33a",
            "date": "2016-05-13T23:04:00"
        }
    }
}

这可能吗?我在正确的轨道上吗? select 语句是否错误,因为返回的输出是一个数组?

Is this possible? Am I on the right track? Is the select statement wrong, because the returned output is an array?

理论上,可以通过以下方式完成:

https://graph.microsoft.com/v1.0/groups/?$filter=mail+eq+'email@domain.onmicrosoft.com'&$expand=members$select=members/displayName

但是据我测试,组API不支持"multiple navigation properties"。

顺便说一句,组对象中的成员类型属性是目录对象集合,这意味着成员中的项目可以是继承自目录对象的任何类型的对象(例如,用户或组),但是"displayName" 和 "userPrincipalName" 在 micrsoft.graph.user 对象中定义。