如何选择Dynamics CRM参考属性?

时间:2018-10-31 10:06:57

标签: dynamics-crm

请阅读以下内容,并告诉我我做错了什么。

我发送的请求:

https://gravityrush.crm5.dynamics.com/api/data/v9.1/accounts?$expand=ownerid/$ref

我期望的答复:

"ownerid":{
   "@odata.type":"#Microsoft.Dynamics.CRM.systemuser",
   "@odata.id":"https://gravityrush.crm5.dynamics.com/api/data/v9.0/systemusers(41041b99-e1ae-46c6-a10c-95ce77fc0b18)"
}

我收到的回复:

"ownerid":{
   "@odata.type":"#Microsoft.Dynamics.CRM.systemuser",
   "@odata.id":"https://gravityrush.crm5.dynamics.com/api/data/v9.1/owners()"
}

谢谢。

2 个答案:

答案 0 :(得分:0)

  • 尝试按以下方式发送API查询,您将拥有OwnerId

https://orgurl/api/data/v8.2/accounts()?$ select = _ownerid_value

您将获得每个帐户记录的OwnerId。

答案 1 :(得分:0)

我认为这可能是与此字段类型相关的限制/错误。

如您所知,ownerid字段可以指向系统用户团队记录,如果您查看该字段定义,看到这种关系实际上是与称为Owner的实体有关的,这就是为什么要获取owners()网址的原因:

"@odata.id":"/api/data/v9.1/owners()"

我尝试使用owninguserowningteam字段来解决此问题,但似乎也存在问题,因为当我添加$ ref时,我开始获取该字段的null值:

GET /api/data/v9.1/accounts?$select=accountid&$expand=owninguser($select=systemuserid)

"owninguser":{
   "systemuserid":"f30a6a42-3067-4c78-b348-9cbc56531f5e",
   "ownerid":"f30a6a42-3067-4c78-b348-9cbc56531f5e"
}


GET /api/data/v9.1/accounts?$select=accountid&$expand=owninguser/$ref
"owninguser":null

可以肯定的是,我尝试对Customer字段执行相同的操作(种类相同,该字段可以指向联系人帐户记录),但我没有发现此问题,您可以使用以下查询获取对客户/联系人的引用:

GET /api/data/v9.1/incidents?$select=incidentid&$expand=customerid_account/$ref, customerid_contact/$ref