如何在 ownerid 上使用 $expand 以通过 Dynamics 365 Web API 获取 SystemUser 属性?

Equ*_*lsk 3 dynamics-crm odata

我正在使用 Postman 查询 Dynamics 365 Web API 以获取帐户记录。我正在尝试expand通过ownerid字段从相关的 SystemUser 记录中获取一些属性。

我认为查询应该如下所示:

https://myorg.api.crm4.dynamics.com/api/data/v9.0/accounts?$select=name&$expand=ownerid($select=fullname)
Run Code Online (Sandbox Code Playgroud)

当我提交此查询时,出现错误:

在类型“Microsoft.Dynamics.CRM.principal”上找不到名为“fullname”的属性

知道fullname属性肯定存在于 SystemUser 上。

如果我删除($select=fullname)查询的一部分,我会得到以下 JSON 结果,但我期望扩展所有者有很多属性。

{
  "@odata.context": "https://myorg.api.crm4.dynamics.com/api/data/v9.0/$metadata#accounts(name,ownerid)",
  "value": [
    {
      "@odata.etag": "W/\"1564360\"",
      "name": "My Account",
      "accountid": "82b287d6-0dc7-e811-a95e-000d3ab1ab19",
      "ownerid": {
        "ownerid": "5f8872b1-0189-e811-a975-000d3ab38ab1"
      }
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

如果我将其更改expand为使用,primarycontactid那么这将起作用,并且我可以从联系人记录中获取字段。

我已经检查了文档,我没有进一步前进。
https://docs.microsoft.com/en-us/dynamics365/customer-engagement/developer/webapi/query-data-web-api

如何使用 expand 通过 Accounts 的 ownerid 属性从 SystemUser 记录中获取属性?

Equ*_*lsk 6

问题似乎是由于 Owner 字段能够指向 SystemUser 或 Team 记录。

如果我扩展,owninguser那么我可以从相关的 Systemuser 获取正确的属性。