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

时间:2018-11-06 11:22:20

标签: odata dynamics-crm

我正在使用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)

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

  

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

知道 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"
      }
    }
  ]
}

如果我将expand更改为使用primarycontactid,则此方法有效,我可以从联系人记录中获取字段。

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

如何使用扩展通过帐户的ownerid属性从SystemUser记录中获取属性?

1 个答案:

答案 0 :(得分:1)

问题似乎是由于“所有者”字段能够指向SystemUser或Team记录。

如果我使用owninguser进行扩展,则可以从相关的Systemuser获取正确的属性。